C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[29579] Re:ADOQurey에 대해서 질문입니다.
김정규 [] 1220 읽음    2004-05-02 07:19
한가지 덧붙이면...

아래 쿼리를 보면 레코드 하나를 추가한 후에 다시 전체 데이터를 가져오는군요. 추가한 이후에 결과 데이터가 필요한 경우에는 처음부터 TADODataSet을 쓰는 것이 더 편리할 것 같습니다.

1. TADODataSet을 폼에 추가.
2. Object Inspector 에서
  a. Connection 을 설정
  b. Command Type을 cmdText로 설정
  c. Command Text에 select* from info를 입력
  d. Active를 true로 바꾸어서 문제가 없는지 확인
  e. 원하는 시점에 데이터셋을 열기 위해서 Active를 다시 false로 설정
3. 특정 event handle에서...
  
  ADODataSet1->Open();
  ADODataSe1t->Append();
  ADODataSet->FieldValues["ID"] = ID;
  ADODataSet->FieldValues["Pass"] = ps;
  ...
  ADODataSet->Post();

그런데, 큰 테이블의 경우에는 모든 데이터를 불러올 필요가 없는 경우가 많습니다. 예를 들어, 한 순간에 특정 type의 데이터만 필요하다고 하면...

  Command Text 를 "select * from info where type = :type"으로 설정하고 나서 데이터가 필요한 시점에

  ADODataSet->Open(); // 아직 parameter값을 설정 안했으므로 빈데이터셋이 리턴
  ADODataSet->Parameters->ParamValues["type"] = 1;
  ADODataSet->Requery(TExecutOptions());
  ADODataSet->Append();
  ADODataSet->FieldValues["ID"] = ID;
  ...
  ADODataSet->Post();

  다른 type을 가지고 작업을 할때는...
  ADODataSet->Parameters->ParamValues["type"] = 2;
  ADODataSet->Requery(TExecutOptions());

처럼 하면 됩니다.
 

아카시아 님이 쓰신 글 :
: 아무리 찾아봐도 문법적인 에러가 없는데,
: 자꾸 위의 그림처럼 에러가 발생합니다.
: Build All Project를 할때는
: 아무 이상이 없는데,
: 클라이언트를 실행해서 디비에 저장하는
: 소스부분에 가게 되면
: 중간쯤에
: ADOQuery1->ExecSQL();
: ADOQuery1->SQL->Clear();
: 이부분에서 에러가 나거든요?
: 디버깅을 해도 항상 여기가 걸리고..
: 소스에 무슨 문제가 있는건가요?
:
: 아래는 제가 짜고 있는 쿼리문 소스입니다.
: ADOQuery1->Close();
: ADOQuery1->SQL->Clear();
: ADOQuery1->SQL->Add("insert into info");
: ADOQuery1->SQL->Add("(ID, Pass, Passa, Target, Time)");
: ADOQuery1->SQL->Add("values");
: ADOQuery1->SQL->Add("('"+id+"','"+ps+"','"+psa+"','"+coma+"','"+comb+"')");
: ADOQuery1->ExecSQL();
: ADOQuery1->SQL->Clear();
: ADOQuery1->SQL->Add("select* from info");
: ADOQuery1->Open();

+ -

관련 글 리스트
29576 ADOQurey에 대해서 질문입니다. 아카시아 931 2004/05/01
34955     Re:ADOQurey에 대해서 질문입니다. smleelms 899 2004/05/01
34954     Re:ADOQurey에 대해서 질문입니다. 아카시아 900 2004/05/01
29591     Re:ADOQurey에 대해서 질문입니다. Starlet 939 2004/05/03
29579     Re:ADOQurey에 대해서 질문입니다. 김정규 1220 2004/05/02
29578     Re:ADOQurey에 대해서 질문입니다. 김정규 961 2004/05/02
29580         Re:Re:ADOQurey에 대해서 질문입니다. 김정규 999 2004/05/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.