您的位置:首页 > 数据库

ADO组件连接MSSQL数据库的奇怪问题。。

2008-10-20 10:29 309 查看
ADO组件连接MSSQL数据库的奇怪问题。。 Delphi / Windows SDK/API
http://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的方式传数据过来...就好了.

数据从服务端传到客户端.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐