用BDE连接Sql server2000数据库为什么只有数值和时间字段?(30分)

  • 主题发起人 主题发起人 yun.li
  • 开始时间 开始时间
Y

yun.li

Unregistered / Unconfirmed
GUEST, unregistred user!
我用D6的Sql Explorer利用BDE通过ODBC方式连接Sql server2000数据库
但却不能显示出字符型字段[Varchar]只有数值和时间字段,而用ADO方式却可以显示全部字段。
这是为什么?
 
呵呵,那不是Delphi/BDE的问题。是ODBC的问题,
如果用SQLLink就会和ADO一样都可以看到。
还有,字符型的(char,varchar,text)可以显示的,
不能显示的是nchar,nvarchar,ntext等这些类型。
ODBC是一种通用接口,为了兼容性,不支持nchar等类型。
然而,SQL Server中有很多系统表,还有系统存储过程返回的都是nvarchar/nchar类型。
所以,通过SQL Explorer或者Query就差不出来了。
你可以使用SQL Link或者ADO.
如果是查询系统表,你可以使用强制转换(convert)
将nvarchar/nchar转换为varchar/char,但是对系统procedure 就没有办法了。
 
谢谢你的支持!积分太少,请别见怪.
 
后退
顶部