在sql语句中,日期比较
sql.add('Operates.createtime>='+datetostr(startdate.date) +' and 'Operates.createtime<='+datetostr(EndDate.date)+')';
其中Operates.createtime是纪录表中的日期型,startdate.date和EndDate.date是日期型控件的日期。现在把纪录表中的日期型和日期型控件的日期进行比较。
现在的问题是必须如何把上面的语句变得可用,而不存在类型不匹配的错误
因为Operates.createtime是日期型,而startdate.date,EndDate.date必须转为
字符型才能在sql中用,thx
sql.add('Operates.createtime>='+datetostr(startdate.date) +' and 'Operates.createtime<='+datetostr(EndDate.date)+')';
其中Operates.createtime是纪录表中的日期型,startdate.date和EndDate.date是日期型控件的日期。现在把纪录表中的日期型和日期型控件的日期进行比较。
现在的问题是必须如何把上面的语句变得可用,而不存在类型不匹配的错误
因为Operates.createtime是日期型,而startdate.date,EndDate.date必须转为
字符型才能在sql中用,thx
解决方案 »
- 白莹:Animate特效失效是什么原因?
- delphi中如何为类定义事件。
- 2 个 Clientdataset 怎么合并数据?急,求救啊!
- 想做一个P2P软件,不知道用什么开发语言?
- 请问:如何隐藏mdichildform?
- 怎样把记事本里的内容再Memo里或者其他编辑工具里显示
- 发问!
- VCL组件的引用!
- 请问使用dbGridEh的朋友
- http控件如何访问cgi或asp?
- 使用ADO出现的问题,是不是ADO的Bug,请各位指教!参加讨论者有分。
- 我在com+组件服务器中导出组件成.MSI文件之后,到客户机上去安装时出错:“Error registering COM+ APPLICATION”,在本机上安装也同样如
sql.add('and Operates.createtime<='''+datetostr(EndDate.date)+'''');
sql.add(' and Operates.createtime<='+''''+FormatDateTime('yyyy-mm-dd',EndDate.date)+'''');
sql.add('Operators.CreateTime>=:StartDate and Operator.CreateTime<=:EndDate');
ADOQuery1.Prepared;
ADOQuery1.Parameters.ParamByName('StartDate').Value:=StartDate.Date;
ADOQuery1.Parameters.ParamByName('EndDate').Value:=EndDate.Date;
我是转化为字符来比较的,不过要把系统的日期时间格式该成YYYY-MM-DD HH:MM:SS 格式
你这样是得到类型就不对了,
你可以用TOMWLD(笑天)或 sysu(死树)的方法
最好还是用参数