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
[52373] query 검색관련 질문있습니다.
sky [] 1210 읽음    2008-02-22 10:02
우선 제가 짠 코드 보시죠.....

        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 1210 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.