B binjinsx Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-27 #1 在编写查询应用时,其中有一个字段是日期,如果 根据其他字符字段查询时一切正常,而根据日期查询时, 则编译时无问题,在运行时则出错。 谢谢,给予解决。
L LSS Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-27 #2 要看你的日期格式,默认格式为mm/dd/yy,在bde config中可以更改, 可以用param查询,设个变量参数 另外,也可以动态生成sql语句,'sele....where fieldname='''+'mm/yy/dd'+'''....'
要看你的日期格式,默认格式为mm/dd/yy,在bde config中可以更改, 可以用param查询,设个变量参数 另外,也可以动态生成sql语句,'sele....where fieldname='''+'mm/yy/dd'+'''....'
N nickname Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-27 #3 不管你日期格式用什么,在SQL中都用MM/DD/YYYY, 在SQL语句中'SELECT * FROM YOURTABLE WHERE YOURFIELD='''+'MM/DD/YYYY'+''''
X xiaowind Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-27 #4 1.日期格式可以为mm/dd/yy 也可以为mm/dd/yyyy 如果你要查timestamp类型还可以在后面加hh:nn:ss 2.在bde config中改了以后,对sql仍不起作用. 3.我认为动态生成sql比效好.如 query1.sql.add(format('select * from abc where fieldname="%s"', [formatdatetime('mm"/"dd"/"yyyy', mydatetime)]) formatdatetime的formatstr不记得该怎么用了,错了莫怪,自己查帮助^_^
1.日期格式可以为mm/dd/yy 也可以为mm/dd/yyyy 如果你要查timestamp类型还可以在后面加hh:nn:ss 2.在bde config中改了以后,对sql仍不起作用. 3.我认为动态生成sql比效好.如 query1.sql.add(format('select * from abc where fieldname="%s"', [formatdatetime('mm"/"dd"/"yyyy', mydatetime)]) formatdatetime的formatstr不记得该怎么用了,错了莫怪,自己查帮助^_^
B binjinsx Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-28 #5 前面所回答的内容,我都试了以下,结果都不行, 还请各位给予详细解答。 谢谢
L liwei Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-28 #6 试试这个: query1.sql.add('select * from abc where fieldname=:today'); Query1.ParambyName('today').asdate:=formatdatetime('mm/dd/yyyy', yourdate); Query1.open;
试试这个: query1.sql.add('select * from abc where fieldname=:today'); Query1.ParambyName('today').asdate:=formatdatetime('mm/dd/yyyy', yourdate); Query1.open;
L liwei Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-28 #7 不好意思, 上面错了. >>Query1.ParambyName('today').asdate:=formatdatetime('mm/dd/yyyy', yourdate); 改成: Query1.ParambyName('today').asdate:=strtodate(yourdate);
不好意思, 上面错了. >>Query1.ParambyName('today').asdate:=formatdatetime('mm/dd/yyyy', yourdate); 改成: Query1.ParambyName('today').asdate:=strtodate(yourdate);
L LSS Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-29 #8 sorry 我也写错了 同意:nickname的说法,设置bde没有什么太大用,我的式子写错了,应该是: query1.sql.text:='sele....where fieldname='''+'mm/dd/yy'+'''....'; query1.execsql;
sorry 我也写错了 同意:nickname的说法,设置bde没有什么太大用,我的式子写错了,应该是: query1.sql.text:='sele....where fieldname='''+'mm/dd/yy'+'''....'; query1.execsql;