delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
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的方式传数据过来...就好了.  
   
  数据从服务端传到客户端.

posted on 2008-10-20 10:33 delphi2007 阅读(201) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。