各位大侠,俺是菜鸟,有遇到很多问题无法解决,求各位大侠高抬贵手,就是我做的一个查询窗体:
在查询日期时出了问题,部分代码如下:
if edt3.Text<>' / / ' then
begin
s:=FormatDateTime('yyyy-MM-dd',edt3.Date);
// s:=DateToStr(FormatDateTime('yyyy-MM-dd',edt3.Date));
sqlyuju:=sqlyuju+'Pin_date>='+s+' and ';
end;
if edt4.Text<>' / / ' then
begin
// s:=DateToStr(FormatDateTime('yyyy-MM-dd',edt4.Date));
sqlyuju:=sqlyuju+'Pin_date<='+FormatDateTime('yyyy-MM-dd',edt4.Date)+' and ';
end;
但是在数据库中Pin_date的数据类型是Char(32);在执行时总是提示我‘再将varchar值2012-07-14 转换成int时失败’;
各位有什么好的方法帮我解决一下这个问题吗?先多谢了~~,先说明一下,我的edt3和edt4是第三方控件,他的日期格式是
yyyy/MM/dd的格式,而数据库的日期格式是yyyy-MM-dd的字符型数据,所以我想用FormatDateTime('yyyy-MM-dd',edt3.Date)
进行一下格式转换在进行笔较,各位对于这个问题有什么好的方法吗,教小弟一下,再次感谢~~
在查询日期时出了问题,部分代码如下:
if edt3.Text<>' / / ' then
begin
s:=FormatDateTime('yyyy-MM-dd',edt3.Date);
// s:=DateToStr(FormatDateTime('yyyy-MM-dd',edt3.Date));
sqlyuju:=sqlyuju+'Pin_date>='+s+' and ';
end;
if edt4.Text<>' / / ' then
begin
// s:=DateToStr(FormatDateTime('yyyy-MM-dd',edt4.Date));
sqlyuju:=sqlyuju+'Pin_date<='+FormatDateTime('yyyy-MM-dd',edt4.Date)+' and ';
end;
但是在数据库中Pin_date的数据类型是Char(32);在执行时总是提示我‘再将varchar值2012-07-14 转换成int时失败’;
各位有什么好的方法帮我解决一下这个问题吗?先多谢了~~,先说明一下,我的edt3和edt4是第三方控件,他的日期格式是
yyyy/MM/dd的格式,而数据库的日期格式是yyyy-MM-dd的字符型数据,所以我想用FormatDateTime('yyyy-MM-dd',edt3.Date)
进行一下格式转换在进行笔较,各位对于这个问题有什么好的方法吗,教小弟一下,再次感谢~~
解决方案 »
- 求助 TADOQuery 删除 ACCESS内所有表里的的记录
- 紧急求助:DateTimeToStr(Now)获取当前时间始终是1899-12-30
- fastreport 能从左到右打印记录吗?
- 大家看看 我这个显示下拉菜单程序有什么问题!在线等!!!
- 帮我看看,一个简单的问题
- 关于 TFrame 的一些古怪问题
- Delphi输入的汉字复制到WORD中变成了乱码
- 我在Rave报表上放了一个databand然后在它上面放了一个datatext为什么不能显示datatext中的数呢???
- delphi控制向excel末尾插入一条记录
- 各位帮手,如果实现类似windows任务栏的自动隐藏功能.
- delphi的光标提示没有作用了。
- 用过豌豆夹的请进(delphi获取短信)
所以MSSQL想把2012/7/16转换成数字的时候,转换不成功就会这样的错误了改成,其它类似
sqlyuju:=sqlyuju+'Pin_date<='+quotedstr(FormatDateTime('yyyy-MM-dd',edt4.Date))+' and ';
你的语句,在使用的时候,少加了引号
sqlyuju:=sqlyuju+'Pin_date<='+FormatDateTime('yyyy-MM-dd',edt4.Date)+' and ';
改为
sqlyuju:=sqlyuju+'Pin_date<='''+FormatDateTime('yyyy-MM-dd',edt4.Date)+''' and ';
这个sqlyuju是sql语句?????
sql中根本就没FormatDateTime这个函数,这个函数是delphi的,不出错才怪呢,应该用convert(varchar(8),Edt4.date,112)