우선 버전은 6.0이구요, DB는 Sybase SQL Anywhere 7.0 입니다.
폼에 Query1의 속성에 sql(select * from 테이블이름 where name like '김%')을 써주고 실행을 시키면
TDBGrid에 김씨로 시작하는 사람들의 자료가 나옵니다.
그런데 Query1의 속성에 sql에 있는 내용을 지우고
검색버튼의 OnClick 이벤트에
Query1.open;
Query1.SQL.clear;
Query1.SQL.Add(' select * from 테이블이름 where name like " ' + Edit1.text + ' " ');
Query1.Open;
Query1.ExecSQL;
라고 코딩한후 실행시키고 Edit1박스에 '김'이라고 입력하고 검색버튼을 누르면
column '김' not found 라고 에러가 나요...
그런데,
Query1.SQL.Add(' select * from 테이블이름);
이렇게 where절을 뺴고 실행을 시키면 실행이 되요...ㅜ.ㅜ
왜그런걸까요??
혹시 Sybase SQL Anywhere로 DB를 썼기 때문인가요??
그리고 또하나...
Table1.Open;
DBGrid1.DataSource:=DataSource1;
inputquery('검색할 이름','검색할 이름을 입력하세요',name);
Table1.FindNearest([name]);
라고 입력하고 실행시킨후 검색하려고 검색을 누르면
No Index currently active라고 에러가 떠요..
분명히 데이터베이스 설계할때 프라이머리키 설정해주고 관계도 지어줬는데...
그래서 혹시나하고 Table1.IndexFieldNames := 'code'; 이 코딩을 추가하고 실행시켰더니
Invalid field descriptor 라는 에러가 떠요......
정말 답답해요...
파워빌더로 했던 프로젝트를 델파이로 바꾸고 있는데 넘 적응이 안되고 힘이 드네요...
많이많이 알려주세요...ㅜ.ㅜ
|