|
도신님이 말씀하신대로 시도 해봤습니다.
Query는 정상적으로 작성되었습니다.
정상적으로 작동한다고 말할 수있는 이유는
DBGrid의 Query1이 연결되어 있는데 SELECT한 결과가 DBGrid에 뿌려진다는 것입니다.
제가 이상해서
Query1->Open();
ShowMessage(Query1->RecordCount);
이렇게 테스트해보니 -1을 뿌려주더군요
답답하네요 뭐가 문제일까요?
도신 님이 쓰신 글 :
: Query1->SQL->Add(sql);
: // 오픈하기 전에 ShowMessage(sql) 로 확인 하는게 좋겠네요.....
: Query1->Open();
:
:
: 이성희 님이 쓰신 글 :
: : Query1->RecordCount 값이 자꾸만 -1이 되는 이유를 모르겠습니다.
: : 제가 로컬 파라독스에서는 값이 제대로 나타납니다.
: : 하지만 2000서버를 사용하면 값이 자꾸만 -1이 됩니다.
: : Query1->RecordCount의 값이 0보다 크면 DBGrid의 선택한 레코드값을
: : Edit박스에 뿌려주는 모듈을 만들려고 합니다.
: : 그런데 자꾸만 -1값을 리턴하네요
: : 그리고 신기한건 DBGrid의 Query1이 연결되어 있어서 내용을 뿌려줍니다.
: :
: : 먼저 SELECT하면 부분입니다.
: :
: : AnsiString sql;
: : bool flag=false;
: : Query1->Close();
: : Query1->SQL->Clear();
: : sql="select * From tb_S_History_Sub where ";
: : if(NameCheck->Checked==true)
: : {
: : sql+="Name='"+Insa->Text+"'";
: : flag=true;
: : }
: : if(DateCheck->Checked==true)
: : {
: : if(flag==true)sql+=" and ";
: : sql+="BDate='"+DateToStr(WrkDate->Date)+"'";
: : flag=true;
: : }
: : if(ComCheck->Checked==true)
: : {
: : if(flag==true)sql+=" and ";
: : sql+="h_code='"+Company->Text+"'";
: : flag=true;
: : }
: : if(flag==true)sql+=" and ";
: : sql+="busegu='"+ClassGu+"'";
: : sql+=" order by jcdate1 DESC,Item_Name,SerialNo";
: : Query1->SQL->Add(sql);
: : Query1->Open();
: : 그리고 처리하는 부분입니다.
: : if(Query1->RecordCount > 0)
: : {
: : switch(check)
: : {
: : case 0:
: : EditInDB(Sender);
: : break;
: : case 2:
: : EditInDB(Sender);
: : InsSetup(Sender);
: : ModCheck=true;
: : Bookmark=Query1->GetBookmark();
: : SaveBtn->Enabled = true;
: : Insa->SetFocus();
: : break;
: : case 3:
: : EditInDB(Sender);
: : DelDB(Sender);
: : DBGrid1->SetFocus();
: : break;
: : }
: : }
: : else
: : {
: : ShowMessage("데이타가존재하지않습니다");
: : }
: :
: : 너무 답답해서 미치겠습니다.
: : 오늘 저녁내내 이것만 들여다 봤습니다.
: : 부디 선배님들의 도움 부탁드립니다.
: : 그럼 수고하세요!!
|