问个所以然 (100分)

Y

youngyu

Unregistered / Unconfirmed
GUEST, unregistred user!
以下一段:
Close;
sql.clear;
SQL.Add('Select * from gsm');
SQL.ADD('where class=2 and (stopped>=:p1 Or stopped is null) and (master=:p2 Or gs_dm=:p3)');
Parameters.ParamByName('P1').Value :=yy;
Parameters.ParamByName('P2').Value :=PDistDm;
Parameters.ParamByName('P3').Value :=PDistDm;
open;

调试已可以通过。

问题1:用ADO,SQL SERVER直接连数量库,通过;
用ADO,ODBC 连,stopped>=:p1 一直出错,"[Microsoft][ODBC SQL Server Driver]没有执行可选特性"。

问题2:P2,P3分别用,通过;
Parameters.ParamByName('P2').Value :=PDistDm; 单用P2, 一直出错。

 
问题1:用ADO,SQL SERVER直接连数量库,通过;
用ADO,ODBC 连,stopped>=:p1 一直出错
我问一下,用ADO,ODBC 连,是否更改了Connection String.
 
TO 新葵:
Connection String,改了,不然就无所谓SQL SERVER连或ODBC连。
 
你试试把stopped>=:p1 改为stopped>:p1 or stopped=:p1
 
和字段的数据类型。
 
TO 新葵:
stopped>:p1 ODBC连不上。
 
TO jsxjd:

stopped 数据类型:smalldatetime;
yy:Tdatetime;
 
是不是jsxjd 说的, stopped 和 P1 的类型匹配问题啊???
 
但ADO,SQL SERVER直接连数量库,完全没有问题。不该是数据类型问题吧。
如果是数据类型问题,各应该是什么类型?谢谢。
 
还是用ADO简单,ODBC太繁了
 
结束了。没有满意的。
 
多人接受答案了。
 
顶部