VB ADO在SYBASE查询返回中出现数字型右面的 0 被删除的问题
编号:QA004692
建立日期: 2003年6月29日 最后修改日期:2003年6月29日
所属类别:
Q
王渝:
操作系统:Win
编程工具:VB
问题:请教VB ADO在SYBASE查询返回中出现数字型右面的 0 被删除的问题:
程序大体为
dim cn As ADODB.Connection
dim rs As ADODB.Recordset
cn.open ODBCDSN,用户名,密码 '通过ODBC连接远地的SYBASE服务器
....
set rs=cn.execute("select * from ...")
do while not (rs.bof or rs.eof)
..... '取出数据
rs.movenext
loop
set rs=nothing
问题现象:出现在查询数据返回时,对应的数值型或货币型数据的右面的 0被删除,即本应返回2000,但在rs中实际返回为2,如果应返回200100,实际返回为2001,使得数据无法使用。
问题形成:在WIN98和winXP下时会出现此问题,升级为98ME/WIN2K版本时此问题消失,但更新MDAC为2.7版本时,此问题又出现,经在多台机器上测试,程序本身没有问题,但如何根本性的解决还请大虾们指点一两。
A回答:
我也有过类似的问题,可以不用Microsoft自己的ODBC数据库驱动程序,找一个 sybase openclient 11.9 的驱动程序,安装后,配置ODBC DSN时,选择sybase 的驱动程序,就不会出现这样的问题了,主要问题在于microsoft 的驱动是通用的。有一些配置的问题,也可以通过配置ODBC中的选项来配置,不知你是否选择sqlserver的来配置。其中有一些参数要调整后才行。
此问题由laozhuang回答。
| |
|
|
| |
|
|