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
[52377] Re:query 검색관련 질문있습니다.
아루스 [tinydew4] 1220 읽음    2008-02-22 10:53
간단하게는 where 절 용 String 변수를 둬서 Length 가 0 보다 크면 AND 를 붙여주면 되겠네요.

sky 님이 쓰신 글 :
: 우선 제가 짠 코드 보시죠.....
:
:         AnsiString MODEL = ComboBox9->Items->Strings[ComboBox9->ItemIndex];
:         AnsiString Serial = ComboBox6->Items->Strings[ComboBox6->ItemIndex];
:         AnsiString Machine_Name = ComboBox8->Items->Strings[ComboBox8->ItemIndex];
:
:
:         AnsiString Query1 = "MODEL";
:         AnsiString Query2 = "Serial";
:         AnsiString Query3 = "고객사_일련No";
:
:         ADOQuery1->SQL->Clear();
:
:         switch(ComboBox1->ItemIndex)
:         {
:                  case 0:
:                         ADOQuery1->SQL->Add("select * from SEC_S_LSI_Logic_Power_CSR");
:
:                         if(ComboBox9->ItemIndex != -1)
:                         ADOQuery1->SQL->Add("where " + Query1 + " LIKE '" + MODEL + "%'");
:
:                         if(ComboBox6->ItemIndex != -1)
:                         ADOQuery1->SQL->Add("where " + Query2 + " LIKE '" + Serial + "%'");
:
:                         if(ComboBox8->ItemIndex != -1)
:                         ADOQuery1->SQL->Add("where " + Query3 + " LIKE '" + Machine_Name + "%'");
:                        
:                    //     ADOQuery1->SQL->Add("where " + Query2 + " LIKE '" + Machine_Name + "%'");
:                    //     ADOQuery1->SQL->Text = "select * from samsung where 설비명 = LPP";
:
:                         ADOQuery1->Open();
:
:                         break;
:
: 검색기능을 만드는 중인데요.
:
: 쿼리로 테이블을 불러와서 where, like로 검색을 하는겁니다.
:
: 콤보박스는 3개가 있구요. 각각의 콤보박스에는 SEC_S_LSI_Logic_Power_CSR 이라는 테이블의
:
: MODEL, Serial, 고객사_일련No 라는 3개의 필드의 모든 항목이 리스트로 들어가 있습니다.
:
: 제가 짠 코드를 보시면 각각의 콤보박스에서 리스트를 선택하면 if문이 실행되어 검색기능을 수행하는걸 알수 있을겁니다.
:
: 그런데 제가 짠 코드를 보시면 문제가.. 콤보박스9 에서 리스트를 선택하고, 콤보박스6을 선택하면 sql의 add문에 의해서 "SEC_S_LSI_Logic_Power_CSR 이라는 sql문에 콤보박스9에 의한 add문이 추가되고 거기에 콤보박스6에 의한 add문이 추가되어 전체적으로
: SEC_S_LSI_Logic_Power_CSR "where " + Query1 + " LIKE '" + MODEL + "%'" "where " + Query2 + " LIKE '" + Serial + "%'" 이라는 말도 안되는 sql문이 생성된다는거죠.
:
: 당연히 에러가 나구요.
:
: 제가 원하는 검색기능은 콤보박스9에서만 리스트를 선택하면 콤보박스9에 의한 검색기능만 실행되고
: 콤보박스9에 콤보박스6을 추가로 선택하면 콤보박스9와 콤보박스6의 조건을 동시에 만족하는 결과값을 검색으로 뽑아내는건데요.
:
: 잘 모르겠습니다.
:
: 혹시 방법을 아시는분은 도움좀 주시면 감사하겠습니다....

+ -

관련 글 리스트
52373 query 검색관련 질문있습니다. sky 1211 2008/02/22
52377     Re:query 검색관련 질문있습니다. 아루스 1220 2008/02/22
52378         Re:Re:답변 감사합니다. sky 1251 2008/02/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.