我用的数据源是ODBC,数据库是SQL2000,控件是ADOConnection和ADOQuery
数据库OutGoods表中“出楼日期”字段类型为DateTime
代码如下:
DMHouseManage.ADOQuery1.Active:=true;
with DMHouseManage.ADOQuery1 do
begin
SQL.Clear;
SQL.Add('SELECT * FROM OutGoods where ') ;
SQL.Add('出楼日期 like '+''''+DateToStr(DateTimePicker2.Date)+'%'+'''');
open;
end;
查找不到数据,但是同样的语句放在ACCESS中可以显示出查询结果。程序改成如下:
with DMHouseManage.ADOQuery1 do
Begin
SQL.Clear;
SQL.Add('Select * FROM OutGoods where 出楼日期 =:A');
Parameters.ParamByName('A').Value:=FormatDateTime('yyyy-mm-dd',DateTimePicker2.DateTime);
open;
end;
会出现“[ODBC SQL Server Driver]没有执行可选特性”错误
数据库OutGoods表中“出楼日期”字段类型为DateTime
代码如下:
DMHouseManage.ADOQuery1.Active:=true;
with DMHouseManage.ADOQuery1 do
begin
SQL.Clear;
SQL.Add('SELECT * FROM OutGoods where ') ;
SQL.Add('出楼日期 like '+''''+DateToStr(DateTimePicker2.Date)+'%'+'''');
open;
end;
查找不到数据,但是同样的语句放在ACCESS中可以显示出查询结果。程序改成如下:
with DMHouseManage.ADOQuery1 do
Begin
SQL.Clear;
SQL.Add('Select * FROM OutGoods where 出楼日期 =:A');
Parameters.ParamByName('A').Value:=FormatDateTime('yyyy-mm-dd',DateTimePicker2.DateTime);
open;
end;
会出现“[ODBC SQL Server Driver]没有执行可选特性”错误
with DMHouseManage.ADOQuery1 do
begin
SQL.Clear;
SQL.Add('SELECT * FROM OutGoods where 出楼时间 like '+''''+'%'+'''') ;
if XMEdit.text<>'' then
SQL.Add('and 姓名='+quotedstr(XMEdit.text));
if CheckBox2.Checked then
SQL.Add('and convert(varchar(20),出楼日期,120) like '+''''+FormatDateTime('yyyy-mm-dd',DateTimePicker2.DateTime)+'%'+'''');
open;
end;
这样改就可以了,打扰大家了 ,不好意思!