ADOQuery1->SQL->Add("select * from Table1 where 나이>= s");
이부분은 SQL에 "select * from Table1 where 나이>= s" 이 문자열을 그대로 추가하는 것입니다.
문자 s가 아니고 변수 s의 값을 넣을려면
ADOQuery1->SQL->Add("select * from Table1 where 나이>= " + IntToStr(s));
이렇게 변수 s의 값을 문자로 변환후 SQL문장에 더하면 됩니다.
에디트박스의 문자를 숫자로 그다음 숫자를 문자로 바꾸는 건 불 필요한 작업이 기 떄문에
아래와 같이 그냥 에디트의 내용을 SQL에 더하는 것을 권장합니다.
int s ;
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
//변경할 부분
ADOQuery1->SQL->Add("select * from Table1 where 나이>= " + Edit2->Text);
ADOQuery1->ExecSQL();
ADOQuery1->Open();
김찬영 님이 쓰신 글 :
: 안녕하세요. 저는 광운초등학교 6학년 김찬영입니다.
: int s ;
: s = StrToInt(Edit2->Text);
: ADOQuery1->Close();
: ADOQuery1->SQL->Clear();
: ADOQuery1->SQL->Add("select * from Table1 where 나이>= s");
: ADOQuery1->ExecSQL();
: ADOQuery1->Open();
: 여기에서 숫자조건검색을 할려고 하는데요
: DB그리드에 나이라는 필드와 숫자형 Data를 비교하여 조건검색을 할려고 하는데 변수를 사용하면 에러가 뜹니다.
: S라는 변수 대신에 숫자변수값 예를 들어 S대신에 30을 썼을 때 됐습니다. 그런데 변수를 간접적으로 사용했을때
: 안됐습니다.
: 에러메세지가 "매게 변수 s에 기본 값이 없습니다." 라는 에러 메세지가 뜹니다.
:
: 해결 부탁드립니다.
:
: 김찬영 올림
|