* 사용환경 : 델파이5 / Windows 2000
데이터베스로는 mssql을 쓰고있습니다.
db grid에 두테이블을 조인한 쿼리컴포넌트로 데이터를 불러오는데,
콤보박스 세게에 있는, 그러니까 년, 월, 일과 날짜가 같은 내용을 불려오려합니다.
var ls_dt : string; //변수선언
ls_dt := (cmb1.text + '-' + cmb2.text + '-' + cmb3.text) //세개합치고
with query1 do begin
close;
sql.clear;
sql.Add('select * from query1 where EMPDT = strtodatetime(ls_dt)');
open;
이런식으로 했는데 컴파일 에러는 없지만 실행하니 안되는군요.
테이블을 조인해서 그런지 잘 불러와 지지 않습니다.
제가 워낙초보라 질문은 제대로 했는지 모르겠습니다.
우선 Query 콤포넌트중 SQL문장에 특정변수를 선언하여 작업을 하실려면,
아래의 문장중
sql.Add('select * from query1 where EMPDT = strtodatetime(:ls_dt)');
+-- : 입력
ParamByName('ls_dt').AsString := ls_dt;
문장을 추가하여 작업을 하시면 됩니다.
다시금 아래의 문장을 정리하면 다음과 같습니다.
var ls_dt : string; //변수선언
ls_dt := (cmb1.text + '-' + cmb2.text + '-' + cmb3.text) //세개합치고
with query1 do begin
close;
sql.clear;
sql.Add('select * from query1 where EMPDT = strtodatetime(:ls_dt)');
ParamByName('ls_dt').AsString := ls_dt;
open;
end;
그럼 이만, 항상건강하시고, 행복한 하루보내세요.
이주선 올림
초보임다 wrote:
> * 사용환경 : 델파이5 / Windows 2000
> 데이터베스로는 mssql을 쓰고있습니다.
> db grid에 두테이블을 조인한 쿼리컴포넌트로 데이터를 불러오는데,
> 콤보박스 세게에 있는, 그러니까 년, 월, 일과 날짜가 같은 내용을 불려오려합니다.
>
> var ls_dt : string; //변수선언
> ls_dt := (cmb1.text + '-' + cmb2.text + '-' + cmb3.text) //세개합치고
> with query1 do begin
> close;
> sql.clear;
> sql.Add('select * from query1 where EMPDT = strtodatetime(ls_dt)');
> open;
>
> 이런식으로 했는데 컴파일 에러는 없지만 실행하니 안되는군요.
> 테이블을 조인해서 그런지 잘 불러와 지지 않습니다.
> 제가 워낙초보라 질문은 제대로 했는지 모르겠습니다.
>