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
[70731] Re:DB에 숫자검색 조건 문의 드립니다.
정성훈.해미 [sage5nor] 2403 읽음    2014-01-18 13:12

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에 기본 값이 없습니다." 라는 에러 메세지가 뜹니다.
:
: 해결 부탁드립니다.
:
: 김찬영 올림

+ -

관련 글 리스트
70730 DB에 숫자검색 조건 문의 드립니다. 김찬영 2256 2014/01/18
70731     Re:DB에 숫자검색 조건 문의 드립니다. 정성훈.해미 2403 2014/01/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.