Delphi6.0中的Ado的问题 (100分)

S

shxcn

Unregistered / Unconfirmed
GUEST, unregistred user!
用Delphi5.0+Ado+Odbc+Mssql做的,原来在Delphi5.0中是好的。
现在用Delphi6.0的ADO来根据日期字段查询,报
<Microsoft><Odbc Sql Server Driver>没有执行可特性
不知哪位高手帮帮忙,很急的,谢谢!

sql语句如下
AdoQuery1.close;
AdoQuery1.sql.text:='select * from zy_clck where ckrq>=:fromdate and ckrq<=:todate';
AdoQuery1.Parameters.ParamValues['Fromdate']:=Date-30;
AdoQuery1.Parameters.ParamValues['Todate']:=Date;
AdoQuery1.open;

 
ado要用到odbc?不解,没用过5.0
 
我不是用Ado直接接Mssql的,通过Odbc进行存取数据的。
 
AdoQuery1.close;
AdoQuery1.sql.text:='select * from zy_clck where ckrq>=":fromdate" and ckrq<=":todate"';
AdoQuery1.Parameters.ParamValues['Fromdate']:=Date-30;
AdoQuery1.Parameters.ParamValues['Todate']:=Date;
AdoQuery1.open;
 
实在没有必要用到odbc。
 
我的Mssql是安装在其他机器(WIN98)上的,无法用MSSQL的命名管道进行连接,
所以要用odbc中Sql的tip/ip进行连接.
 
就是,直接用ADO就可以了
 
看看相关的数据库权限吧!
 
日期类型的数据要加引号啊,你试试.
再看看我上面贴的
 
AdoQuery1.close;
AdoQuery1.sql.text:='select * from zy_clck where (ckrq>=":fromdate") and (ckrq<=":todate"';)
AdoQuery1.Parameters.ParamValues['Fromdate']:=Date-30;
AdoQuery1.Parameters.ParamValues['Todate']:=Date;
AdoQuery1.open;
 
你可以把MS SQL装在WIN200 SERVER上,再用ADO连就行了
 
连接肯定没有问题,问题处在SQL语句上,我前段日子就作过在Win2000下连接MySQL的程序,
用的连接方式和你现在一样。
你看看下面的SQL语句对你会不会有帮助:
AdoQuery1.close;
AdoQuery1.sql.Add('select * from zy_clck where ckrq>='''+DateTimeToStr(fromdate-30)+''' and ckrq<='''+DateTimeToStr(todate)+''');
AdoQuery1.open;

 
AdoQuery1.close;
adoquery1.clear;//加上这句试试
AdoQuery1.sql.text:='select * from zy_clck where ckrq>=":fromdate" and ckrq<=":todate"';
AdoQuery1.Parameters.ParamValues['Fromdate']:=Date-30;
AdoQuery1.Parameters.ParamValues['Todate']:=Date;
AdoQuery1.open;
 
你错误我试过了,
是由于与ODBC 的类型转换而造成的 没有办法
只有,用ADO 直接连接 MS SQL
就不会有如此之错了![:)]
 
真是,98下只能装sql server个人版,速度很慢的。还是改装win2000 server +sql server 企业版,用ado,一切问题都解决了。
 
多人接受答案了。
 
顶部