【发布时间】:2015-08-31 08:47:07
【问题描述】:
如何将TDateTimePicker与时间格式(时:分:秒)一起使用?
我试过这段代码:
Sql.text:= ('select * from namatabel where namafield between '+quotedstr(formatdatetime('yyyy/mm/dd', datetimepicker1.date))+' and '+quotedstr(formatdatetime('yyyy/mm/dd', datetimepicker2.date))+' and field order by field ASC');
还有这段代码:
Sql.text:= ('select * from tablename where fieldname between '+quotedstr(formatdatetime('yyyy/mm/dd hh:mm:ss', datetimepicker1.date))+' and '+quotedstr(formatdatetime('yyyy/mm/dd hh:mm:ss', datetimepicker2.date))+' and fieldname order by fieldname ASC');
还有这段代码:
Sql.text:= ('select * from tablename where fieldname between '+quotedstr(formatdatetime('yyyy/mm/dd hh:mm:ss', datetimepicker1.datetime))+' and '+quotedstr(formatdatetime('yyyy/mm/dd hh:mm:ss', datetimepicker2.datetime))+' and fieldname order by fieldname ASC');
但是这些都行不通,请帮我纠正它们。
我正在对 MySQL 数据库使用 SQLYog。
更新
@Jens Borrisholt 我之前尝试过这段代码,但它也不起作用
SQL.Add('SELECT meteran.kd_meter as no,kamar.nama,meteran.waktu,meteran.meter '+
'FROM meteran,kamar WHERE kamar.idkamar = meteran.idkamar AND meteran.waktu BETWEEN :tgl1 and :tgl2 and waktu group by waktu asc');
ParamByName('tgl1').AsString:=FormatDateTime('yyyy-mm-dd',DateTimePicker1.DateTime);
ParamByName('tgl2').AsString:=FormatDateTime('yyyy-mm-dd',DateTimePicker2.DateTime); end;
DBGrid2.DataSource.DataSet:=MyQuery2;
【问题讨论】:
-
学习如何使用参数,你可能会失去这种格式的地狱。好吧,据我所知,您可能是因为某些 DBMS 通过 ADO 并发症(您似乎正在使用 MySQL,并且可能是 ADO ?)。
-
这里的 Sql.text 是什么,也就是说,它来自您正在使用的 Delphi 组件吗? SqlYog 与这个问题有什么关系?请edit您的问题进一步。
-
是的,我使用 SQL.text 插入、更新和选择数据库。我没有使用 ADO,但我使用 MyQuery Access。有什么不同吗?因为我还在学习这个编程的东西。
-
您的问题与日期/时间选择器控件无关。了解原因会让您受益。
-
顺便说一句,Delphi 字符串赋值语句中的字符串值不需要括号。
标签: mysql delphi date datetime sqlyog