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
[5619] Re:Re:DB 프로그램 관련.... 여러가지 궁금증
jeroh [] 2640 읽음    2001-02-21 17:52
친절하고 자세한 답변 감사드립니다.
많은 도움이 되었어요...
진작에 여기를 찾을껄 하는 생각이 드는 군요.
물론, 답답해 하면서 공부도 많이 했지만요...
다시 한번 감사드려요^^

Orun 님이 쓰신 글 :
: ^^
: 안녕하세요.
:
:  1.프로그램에서 필요한 모든 query를 위해 일일이 TQuery와 TDatasource의 한 쌍을
:  main form위  올려 놓아야 합니까? 즉 10개의 서로 다른 Query가 필요하면
:  10쌍의 TQuery와 TDatasource를 올려 놓아햐 합니까?
:
:  -> 결과값을 보기위해서 항상 nabigator나 grid를 사용하는건 아닙니다.
:  말씀하신 질문은 TQuery를 동적으로 할당해서 필요한 결과를 얻고,
:  결과를 얻은 뒤 TQuery 를 해제하는 방법을 사용하시면 됩니다.
:  폼위에 컴포넌트를 올리실 필요없이 헤드파일에 다음의 헤더를 추가하시고
:  예제를 참고하세요.

:  #include <Db.hpp>
:  #include <DBTables.hpp>
:
:  //---------------------------------
:  1)필요할 때 Query문 실행(update,insert,delete)
:  TQuery      *pQuery;
:  AnsiString  asSQL;

:  pQuery = new TQuery(NULL);
:  pQuery->DatabaseName = "MYSQLDB";
:  pQuery->SQL->Clear();
:  asSQL = "insert locationtbl ( l_aspcompany, l_phone, l_etc ) values ('a','b','c')";
:  pQuery->SQL->Add( asSQL );
:  try {
:     pQuery->ExecSQL();
:  }
:  catch(...) {
:     delete pQuery;
:     return;
:  }
:  delete pQuery;
:
:  //---------------------------------
:  2)DB 와 연결후 데이터 처리 (select)
:  TQuery      *pQuery;
:  AnsiString  asPhone, asLocationCheck;    
:
:  pQuery = new TQuery(NULL);
:  pQuery->DatabaseName = "MYSQLDB";
:  pQuery->SQL->Clear();
:  pQuery->SQL->Add("select * from registertbl");
:
:  try {
:     pQuery->Open();
:     pQuery->First();
:     while (!pQuery->Eof)
:        asPhone = pQuery->Fields->Fields[0]->AsString;  // 첫번째 필드
:        asLocationCheck = pQuery->Fields->Fields[1]->AsString; // 두번째 필드
:        .
:        .
:        .
:        pQuery->Next();
:     }
:  }
:
:  catch(...) {
:     pQuery->Close();
:     delete pQuery;
:     return;
:  }
:
:  pQuery->Close();
:  delete pQuery;
:
:  2. parameter를 설정하는 방법은요?
:  TQuery의 params에 setting해 보았지만,되지 않더군요..
:  (parameter로 들어갈 값은 run-time에 당연히 결정 되겠죠)
:
:  -> 1번 답변 처럼하시면 parameter를 사용하실 필요는 없으실 것 같습니다.
:
:  
:  3.프로그램을 실행 할때마다, 또 TQuery에 Build SQL 할때 마다
:  계속 id와 passwd를 묻거든요 db를 등록할때 물론 id, passwd이런 것들을
:  없이 했는데도 말이죠(ok button을 누르면 그냥 다음 단계로 넘어 가지만
:  일일이 이렇게 하기가 귀찮아서요...)

:  -> [3513  /  Re:다시 질문이여.. ㅠㅠ] 를 참고하세요.
:
:  4. 이 모든 것들을 사용하지 않고, 가장 편하게 SQL문을 처리하고
:   결과 값을 받아와 특정 변수에 할당 할 수 있는 더 좋은 방법이 있습니까?

:  -> 이것도 해결이 되리라봅니다. 제가 사용해본 경험으로는 1번질문의 답변처럼
:  사용하시면, 동적으로 생성해서 필요할 때 사용하시고, 동기화해서 사용시에는
:  필요시 생성 후 종료할 때 삭제하시면 될것 같습니다.

:
: jeroh 님이 쓰신 글 :
: : 저는 지금 builder를 이용해 database관련  프로그램을 짜고 있는데요...
: : navigator나 grid같은 것들을 전혀 이용하지 않으려 합니다.
: : 
: : main form 위에 TQuery와 TDataSource를 올려 놓고, Query를 생성해서
: : 
: : String info;
: : 
: : for(int i = 0; i < Query1->FieldCount; i++)
: :   info = Info + Query1->Fields[i]->FieldName + "="+ Query1->FieldByName(Query1->Fields[i]->FieldName)->AsString+ "    ";
: : 
: : 뭐.. 이런식으로 data를 가져오려고 합니다.
: : 
: : Query->SQL->Add();.....
: : Query->ExecSQL();
: : 
: : 이런 함수를 사용하면 select또는 update되어진 결과 값들을 보기 위해선,
: : 항상 grid나 navigator등을 사용할 수 밖에 없더군요
: : (확실이 그런가요?,,,, 제가 본 모든 예제 코드들은 다 그러하던데...)
: : 
: : 근데, 전 앞서 말했다시피 이런것들을 사용하지 않고 Query 실행한 값들을
: : 특정 변수에 할당 받고 싶거든요...
: : (자바를 생각하시면 편하겠죠... 자바에서 Resultset에 결과를 받아 오는 것처럼)
: : 
: : 그래서 궁금한 점은.
: : 
: : 1.프로그램에서 필요한 모든 query를 위해 일일이 TQuery와 TDatasource의 한 쌍을 main form위에 올려 놓아야 합니까? 즉 10개의 서로 다른 Query가 필요하면
: : 10쌍의 TQuery와 TDatasource를 올려 놓아햐 합니까?
: : 
: : 2. parameter를 설정하는 방법은요?
: : TQuery의 params에 setting해 보았지만,되지 않더군요..
: : (parameter로 들어갈 값은 run-time에 당연히 결정 되겠죠)
: : 
: : 3.프로그램을 실행 할때마다, 또 TQuery에 Build SQL 할때 마다
: : 계속 id와 passwd를 묻거든요 db를 등록할때 물론 id, passwd이런 것들을
: : 없이 했는데도 말이죠(ok button을 누르면 그냥 다음 단계로 넘어 가지만
: : 일일이 이렇게 하기가 귀찮아서요...)
: : 
: : 4. 이 모든 것들을 사용하지 않고, 가장 편하게 SQL문을 처리하고
: : 결과 값을 받아와 특정 변수에 할당 할 수 있는 더 좋은 방법이 있습니까?
: : 
: : 이상이 질문이었습니다.
: : builder에서 DB 프로그램을 처음해 보는지라 모르는 거 투성이네요-_-
: : 
: : 많은 도움 부탁드립니다.
: : 미리 감사 드리며....
: : 
: :

+ -

관련 글 리스트
5609 DB 프로그램 관련.... 여러가지 궁금증 jeroh 2545 2001/02/20
5610     Re:DB 프로그램 관련.... 여러가지 궁금증 Orun 2746 2001/02/21
5619         Re:Re:DB 프로그램 관련.... 여러가지 궁금증 jeroh 2640 2001/02/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.