ADO组件连接MSSQL数据库的奇怪问题。。 Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiDB/html/delphi_20061225211308101.html
使用ADO组件连接SQL数据库后,查询的到的结果(数值型)和在服务器端直接使用MSSQL工具查询的结果不一样???
比如字段1在服务器查询出来是100.123,使用ADO查询出来会变成99.23
是不是ADO的connection设置有问题。我使用的是默认设置。。
1、升级ADO看看
2、确定你的SQL和查询分析器的一模一样吗?
SQL是一样的
ADO是xp2自带的。 开发环境是delphi7
应该不会这么大的误差,100.123 <--> 99.23 ???
显然有点不对劲,比如,显示的是同一条记录吗?
差的太离谱....
是。连日期型的数值都会改变。。
差在哪里。
日期型会变是正常的,两个对起始的日期定义的不一样,大概差2天吧
数值型变的这么厉害,就有问题了。
可是在服务器端查询正常。
我查看时间,发现都是相差几秒钟。
在企业管理器中查看数值为:17:58:06,
在Delphi中看到为17:58:00。
数据库比较大,大概有2G。
开发的时候使用会出现有的数值变成0。
能有人解释这个问题吗/?
一般情况下不会碰到这种问题的,所以只能你自己进行调试。
1)跟踪Sql语句,然后把跟踪的Sql语句在查询分析器上执行,看结果的异同;
2)建议增加一台机器,把数据库和程序换到另一台机器上测试,或者两台机器进行交叉测试。
这是开玩笑么
肯定是sql语句的问题
闹鬼了?
SQL语句正常。
在两边用同一个语句。
1在服务器查询出来是100.123,使用ADO查询出来会变成99.23
---------------------------------
碰到过相似的情况, 不过偶是在多层中....
单层还没有碰到过....
to hydonlee(青山情)
那你是怎么解决这个问题的??
偶原来取得数据是通过 clientDataSet1.Data = appServer.GetData...
发现有这个问题后, 就通过XML的方式传数据过来...就好了.
数据从服务端传到客户端.