sql中日期与datetimepicker中日期对比问题(100分)

  • 主题发起人 主题发起人 knightrue
  • 开始时间 开始时间
K

knightrue

Unregistered / Unconfirmed
GUEST, unregistred user!
select * from A where dd >''datetimepicker.date''
提示类型转换错误。
该如何处理?
 
把 “datetimepicker.date”的植转成字符型
FormatDateTime('YYYY-DD-MM',datetimepicker.date)
 
转化成浮点型就可以比较了。
 
select * from A where dd > qutedstr(FormatDateTime('YYYY-DD-MM',datetimepicker.date))
 
顺便说一下,我是在adoquery里面直接写的sql语句。
使用
select * from A where dd > qutedstr(FormatDateTime('YYYY-DD-MM',datetimepicker.date))
提示"FormatDatetime不是可识别的函数名"
是不是我需要use一下什么?
 
select * from A where dd > '''+FormatDateTime('YYYY-DD-MM',datetimepicker.date)+''''
 
datastr := FormatDateTime('YYYY-DD-MM',datetimepicker.date);

select * from A where dd > '''+datastr+'''';
 
datastr := FormatDateTime('YYYY-DD-MM',datetimepicker.date);

select * from A where convert(varchar(10),dd,120) > '''+datastr+'''';
 
先谢谢李翔鹏和大家,程序中试验还是有点问题。
datastr:string;
在button中设置:
datastr := FormatDateTime('YYYY-MM-DD',datetimepicker1.date);
adoquery1.Active:=true;
在adoquery1里面的语句为:
select * from A where convert(varchar(10),dd,120) >'''+datastr+'''';
数据库中的日期为:2006-10-10,
FormatDateTime('YYYY-DD-MM',datetimepicker.date);
我换成了FormatDateTime('YYYY-MM-DD',datetimepicker.date);
运行后提示:字符串''+datastr+'''之前有未关闭的引号。
您可以在程序里面测试一下,十分谢谢大家!delphi7
马上发分。
 
先定义个SREING t
t:=FormatDateTime('YYYY-DD-MM',datetimepicker.date);
select * from A where dd > '''+t+'''';
当然要看dd你在SQL是定义什么类型的啊基本上这样子是可以的
 
ADOQuery1.Close;
ADOQuery1.SQL.Text := Format('Select * From A Where dd > %s', [QuotedStr(FormatDateTime('YYYY-MM-DD', DateTimePicker1.Date))]);
ADOQuery1.Open;
 
我想应该先问一下 你的 dd在数据库里是什么类型吧 如果是 DateTime的类型就不用这样了吧
 
谢谢,ChrisMao的方法试验成功。
 
后退
顶部