我的程序是这样的:
procedure TF_main.Button1Click(Sender: TObject);
var
start,over:tdatetime;
begin
start:=DateTimePicker1.Datetime;
over:=DateTimePicker2.Datetime;
with adoquery1 do
begin
close;
sql.Text:='select * from sjb where jrsjzd between start and over ';
open;
end;
end;
请问为什么结果总是错,提示START没有初始化.急.....
procedure TF_main.Button1Click(Sender: TObject);
var
start,over:tdatetime;
begin
start:=DateTimePicker1.Datetime;
over:=DateTimePicker2.Datetime;
with adoquery1 do
begin
close;
sql.Text:='select * from sjb where jrsjzd between start and over ';
open;
end;
end;
请问为什么结果总是错,提示START没有初始化.急.....
begin
with adoquery1 do
begin
close;
sql.clear;
sql.Text:='select * from sjb where jrsjzd between :start and :over ';
Parameters.ParambyName('start'):=DateTimePicker1.Datetime;
Parameters.ParambyName('over'):=DateTimePicker2.Datetime;
open;
end;
end;
Parameters.ParambyName('start'):=DateTimePicker1.Datetime;
begin
with adoquery1 do
begin
close;
sql.clear;
sql.Text:='select * from sjb where jrsjzd between :start and :over ';
Parameters.ParambyName('start').AsDateTime:=DateTimePicker1.Datetime;
Parameters.ParambyName('over').AsDateTime:=DateTimePicker2.Datetime;//或:Parameters.ParambyName('start').asdate:=DateTimePicker1.Date;
// Parameters.ParambyName('over').asdate:=DateTimePicker2.Date; open;
end;
end;
with adoquery1 do
begin
close;
sql.clear;
sql.Text:='select * from sjb where jrsjzd between :start and :over ';
Parameters.ParambyName('start').asdate:|(光标亭止)=DateTimePicker1.Date;
Parameters.ParambyName('over').asdate:=DateTimePicker2.Date;
open;
end;
end;
end.提示:[Error] wj5.pas(41): Undeclared identifier: 'asdate'
[Error] wj5.pas(42): Illegal character in input file: ' ' ($A1A1)
with adoquery1 do
begin
close;
sql.clear;
sql.Text:='select * from sjb where jrsjzd between :start1 and :over1';
Parameters.ParambyName('start1').value=DateTimePicker1.Date;
Parameters.ParambyName('over1').value:=DateTimePicker2.Date;
open;
end;
end;
end.
试试。
Parameters.ParambyName('over1').value:=DateTimePicker2.Date;
这句出了这样的提示:
[Error] wj5.pas(42): Illegal character in input file: ' ' ($A1A1)谢谢指点
with adoquery1 do
begin
close;
sql.clear;
sql.Text:='select * from lstz where rq between :start1 and :over1';
Parameters.ParambyName('start1').value:=DateTimePicker1.Date;
Parameters.ParambyName('over1').value:=DateTimePicker2.Date;
open;
end;
end;
我试过了.OK!
请注意语句 Parameters.ParambyName('over1').value:=DateTimePicker2.Date;
前面的空格。最好删除语名前导的字符,然后再打空格上去。粘贴我的代码吧.
http://dev.csdn.net/article/53/53440.shtm DBGrid使用全书(二)
http://dev.csdn.net/article/53/53441.shtm DBGrid使用全书(三)
http://dev.csdn.net/article/53/53442.shtm DBGrid使用全书(四)
http://dev.csdn.net/article/53/53443.shtm DBGrid使用全书(五)