为什么我这段代码执行下来,检索出来的数据为空,实际上数据库里面又符合条件的数据?
不好意思问大家一个问题:为什么我这段代码执行下来,检索出来的数据为空,实际上数据库里面又符合条件的数据?
procedure TForm2.FormCreate(Sender: TObject);
var
mydate:tdate;
begin
mydate:=form2.MonthCalendar1.Date;
adoquery1.Active:=true;
with adoquery1 do
begin
close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 发车表 where 发车时间=:mydate');
open;
end;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
form1.show;
end;
end.
问题点数:0、回复次数:15Top
1 楼beyondtkl(大龙驹<*好久没来了,兄弟们好吧。*>)回复于 2004-08-04 09:07:43 得分 0
adoquery1.SQL.Add('select * from 发车表 where 发车时间=:mydate');
// 你在哪里给mydate这个参数赋值???
应该
Parameters.ParaByName('mydate').value := MyDate
再 OpenTop
2 楼waini12(魔刀王子)回复于 2004-08-04 09:18:19 得分 0
adoquery1.SQL.Add('select * from 发车表 where 发车时间=mydate')
// 应该是这样的Top
3 楼liuqifeiyu(liuqi)回复于 2004-08-04 09:22:31 得分 0
adoquery1.SQL.Add('select * from 发车表 where 发车时间='+'{'+mydate+'}');
Top
4 楼lucksir9743()回复于 2004-08-04 11:13:52 得分 0
都不行呀!beyondtkl(大龙驹<逝追>) 提示数据类型不对,可我access里面是日期型的呀!
liuqifeiyu(liuqi)的提示 mydate没有定义!难道没人知道吗???Top
5 楼thiswang(黑云天使)回复于 2004-08-04 11:29:57 得分 0
应该是 (MyDate是字符型的吗?)
Parameters.ParaByName('mydate').value := StrToDate(MyDate)
再 OpenTop
6 楼lucksir9743()回复于 2004-08-04 11:32:46 得分 0
procedure TForm2.FormCreate(Sender: TObject);
var
mydate:tdate;
我已经把它定义为日期型了呀!!!Top
7 楼thebest123(凌然)回复于 2004-08-04 12:14:30 得分 0
adoquery1.SQL.Add('select * from 发车表 where 发车时间=:mydate');
Parameters.ParaByName('mydate').value := datetostr(MyDate)
再 Open
Top
8 楼capoatguitar(菠萝蜜汁红塔山)回复于 2004-08-04 12:19:29 得分 0
既然MYDATE是一个参数,那么就该给他赋值啊。
Parameters.ParaByName('mydate').value := MyDate;
Top
9 楼lucksir9743()回复于 2004-08-04 16:41:10 得分 0
还是不行呀!我都要疯掉了,再按照thebest123(凌然)的做了,它显示找到的为空,而实际上里面有符合条件的呀!Top
10 楼capoatguitar(菠萝蜜汁红塔山)回复于 2004-08-04 17:21:46 得分 0
你到底是要匹配日期还是匹配时间??MYDATE是日期还是时间?Top
11 楼lucksir9743()回复于 2004-08-04 19:41:48 得分 0
匹配日期呀!
var
mydate:Tdate;Top
12 楼BlueStar1997(西子湖畔|赏月)回复于 2004-08-04 22:38:50 得分 0
你先在ACESS中用SQL语句试试,看看有没有Top
13 楼guojbin(小彬)回复于 2004-08-04 23:14:48 得分 0
把它改成字符型的
adoquery1.SQL.Add('select * from 发车表 where 发车时间=str(mydat)Top
14 楼lucksir9743()回复于 2004-08-04 23:22:04 得分 0
procedure TForm2.FormCreate(Sender: TObject);
var
mydate:string;
begin
mydate:=datetostr(form2.MonthCalendar1.Date);
adoquery1.Active:=true;
with adoquery1 do
begin
close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 发车表 where 发车时间=:mydate');
adoquery1.Parameters[0].Value:=date;
adoquery1.Open;
end;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
form1.show;
end;
end.
我代码改成这样就能执行了!!!
或者
procedure TForm2.FormCreate(Sender: TObject);
var
mydate:string;
begin
mydate:=datetostr(form2.MonthCalendar1.Date);
adoquery1.Active:=true;
with adoquery1 do
begin
close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 发车表 where 发车时间=:mydate');
adoquery1.Parameters.ParamByName('mydate').Value:=date;
adoquery1.Open;
end;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
form1.show;
end;
end.Top
15 楼capoatguitar(菠萝蜜汁红塔山)回复于 2004-08-05 11:25:09 得分 0
邪门了!Top




