ClinetDataSet+DBExpress+SQL2000的(日期查询问题)
最近发现DBExpress的控件搭配TDataSetProvider和TClientDataSet连接SQLServer2000数据库,进行查询含日期字段数据集时,在有RAD环境下正常;而在没有RAD环境下则出错,错误信息是:“Operation not applicable”
查了半天,没查出问题所在
另外做了几个相关测试,测试结果如下:(以下均指SQLServer2000数据库)
RAD2009环境下:
(一)查询语句:"SELECT GETDATE() AS A" 或 "SELECT CAST(GETDATE() AS DATETIME) AS A" 或 "SELECT CAST(GETDATE() AS SMALLDATETIME) AS A"
(1)TSQLConnection+TSQLQuery 正常
(2)TSQLConnection+TSQLQuery+TDataSetProvider+TClientDataSet 正常
(3)TDatabase+TQuery+TDataSetProvider+TClientDataSet 正常
无RAD环境下:
(4)TSQLConnection+TSQLQuery 正常
(5)TSQLConnection+TSQLQuery+TDataSetProvider+TClientDataSet 出错
(6)TDatabase+TQuery+TDataSetProvider+TClientDataSet 正常
(二)查询语句:"SELECT CAST(GETDATE() AS VARCHAR) AS A"
(7)TSQLConnection+TSQLQuery 正常
(8)TSQLConnection+TSQLQuery+TDataSetProvider+TClientDataSet 正常
(9)TDatabase+TQuery+TDataSetProvider+TClientDataSet 正常
无RAD环境下:
(10)TSQLConnection+TSQLQuery 正常
(11)TSQLConnection+TSQLQuery+TDataSetProvider+TClientDataSet 正常
(12)TDatabase+TQuery+TDataSetProvider+TClientDataSet 正常
以上十二个测试中,唯独(5)出现“Operation not applicable”