delphi中日期字段如何作为sql语句的条件

TestDate为日期字段,combobox1.text为1900-01-01格式的字符型数据,我想做一个查询,选择TestDate和combobox1相同的所有记录。请... TestDate为日期字段,combobox1.text为1900-01-01格式的字符型数据,我想做一个查询,选择TestDate和combobox1相同的所有记录。请问这个sql语句如何写?
with F_dairytao.ADOQueryID do
begin
Close;
Sql.Clear;
Sql.Add('Select TestID from lactationlist');
Sql.Add('Where TestDate=combobox1);//就是combobox1如何转换成日期格式
ExecSql;
end;
谢谢
展开
 我来答
none_six
推荐于2018-05-17 · TA获得超过325个赞
知道小有建树答主
回答量:479
采纳率:100%
帮助的人:368万
展开全部
如果是针对SqlServer数据库,一般在Sql语句中直接把日期用单引号引起来就可以了。
FindSql:='Select * From zy_sf Where '
+' 结帐日期>='+''''+DateToStr(Dtp_SDate.Date)+''''
+' and 结帐日期<='+''''+DateToStr(Dtp_EDate.Date)+'''';
如果是Access数据库,就把单引换成#就可以了。
FindSql:='Select * From zy_sf Where '
+' 结帐日期>='+'#'+DateToStr(Dtp_SDate.Date)+'#'
+' and 结帐日期<='+'#'+DateToStr(Dtp_EDate.Date)+'#';
众口说车
2013-06-17 · TA获得超过2323个赞
知道大有可为答主
回答量:3503
采纳率:50%
帮助的人:1500万
展开全部

这句可以改成这样:  

 Sql.Add('Where TestDate='''+combobox1.Text+'''');//注意是单引号


另外,你应该把combobox1设为不可手动更改,因为有时手动更改后你这样做会出现无效的日期

追问
不行啊,标准表达式类型不匹配
追答

p 这应该是你的电脑的内置时间格式与数据库的不一致所至!

建议你把combobox 改为 DateTimePicker

然后可以用

var str:String;
begin
DateTimePicker.Date=Now;//这里要先对dateTimePicker进行初始化
str:=formatdatetime('yyyy-mm-dd hh:nn:ss',DateTimePicker.Date);
...
Sql.Add('Where TestDate='''+str+'''');//注意是单引号
...
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2016-03-03
展开全部
var
ddate : TDateTime;
begin
ddate :=StrToDate(combobox1.Text);
with F_dairytao.ADOQueryID do
begin
Close;
Sql.Clear;
Sql.Add('Select TestID from lactationlist');
Sql.Add('Where TestDate='''+FormatDateTime('yyyy-mm-dd',ddate)+''');//就是combobox1如何转换成日期格式
open;
end;
end;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
台浦泽4r
2013-06-17 · TA获得超过937个赞
知道小有建树答主
回答量:1249
采纳率:62%
帮助的人:640万
展开全部
Sql.Add('Where TestDate=#'+combobox1.text+'#');

 TestDate日期格式要同combobox1.text的格式(1900-01-01)相同。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fime19870
2013-06-17
知道答主
回答量:48
采纳率:0%
帮助的人:23.8万
展开全部
现在没在环境下,忘记了具体的语法了,你在环境下试着敲敲 有的会弹出来。 (strtodate)combobox1.value 类似这种的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式