delphi中的问题两则(100分)

  • 主题发起人 主题发起人 hgzy
  • 开始时间 开始时间
本人每次从各位那里得到方法,都要属性中的SQL里和程序中试上几遍!
>>Add('SELECT * FROM eqts');
>>Add('WHERE csdate='''+'02/11/1999'+'''');
DELPHI显示:
Project Pro1.exe raised exception class EDBEngineError with
message'General SQL error.
General SQL error
[Microsoft][ODBC Microsoft Access 97 驱动程序]标准表达式中数据类型不匹配.

>>Add('SELECT * FROM eqts');
>>Add('WHERE csdate="02/11/1999" ');
or
>>Add('SELECT * FROM eqts');
>>Add('WHERE csdate="1999-02-11" ');
or
>>Add('SELECT * FROM eqts');
>>Add('WHERE csdate=1999-02-11');
DELPHI显示:
General SQL error
[Microsoft][ODBC Microsoft Access 97 驱动程序]标准表达式中数据类型不匹配.
我觉得是SQL的问题,但是就是解决不了.
 
定义QUERY的查询参数
query1 中的SQL这样写
“SELECT * FROM EQTS WHERE CSDATE=:MYDATE”
将mydate定义为日期型参数
查询时在程序中给日期型参数MYDATE赋值
QUERY1.CLOSE;
QUERY1.PARAMBYNAME(‘MYDATE’).value:=date;
//date是日期型,如果是字符串用STRTODATE转换成日期型
QUERY1.OPEN;
这种方法我已经使用了N次了!只要是支持ODBC的数据库
对日期型字段进行查询应该没问题!!
 
多人接受答案了。
 
后退
顶部