ADO 和 BDE 的区别,奇怪啊!
我用 Table1 和ADOTable1 连接 SQL SERVER2000,都能顺利连接,并在感知控件中得到数据,但有一点不明白,在用ADO 连接时读出的数据补足了空格,如BDE下取出的是
"SYSTEM",字段长 10位,在ADO 中读出的却是 "SYSTEM ",多了4个空格,这是为什么? 我以前在PB中也碰到过同样问题,用MSS MS SQL Server6.x连接读出“SYSTEM",而用ODBC连接同样数据库读出"SYSTEM ",有那位朋友知道吗?
问题点数:20、回复次数:13Top
1 楼BCB(天下三分明月夜,二分无赖是扬州)回复于 2002-04-01 08:31:22 得分 0
情况属实,不知怎办Top
2 楼redpower(常宁)回复于 2002-04-01 08:39:58 得分 2
习惯不同,BDE是Borland ADO是微软的。两个的共同之处是都不兼容其它平台
BDE比ADO速度快而且稳定,ADO是微软的,当然用的语言比较多,比如VC,VB
我看有时间看看DBExpress那个东西更有前途Top
3 楼duanfeng(段玉)回复于 2002-04-01 09:24:22 得分 0
DBExpress不错Top
4 楼PPower(月亮光光,照地堂)回复于 2002-04-01 09:39:52 得分 10
SQL SERVER2000下我干脆把字段屬性由char改成varchar就沒這個問題了.要不就用Trim函數Top
5 楼ljwlover(天涯浪子)回复于 2002-04-01 09:53:21 得分 0
遇到过这个问题,听讨厌的,造成很大麻烦!但不知为什么?Top
6 楼kaneboy(.Net)回复于 2002-04-01 10:31:31 得分 3
sql server中char类型读取速度比varchar快,因为char在数据不足位数的情况下,会自动在数据后面补空格,而varchar不会,这就造成了char类型的数据从sql server中取出后,后面可能有空格的原因,bde可能自己做了相应的处理。Top
7 楼windindance(风舞轻扬·白首为功名)回复于 2002-04-01 10:45:50 得分 0
1 可以在TField的OnGetText事件中进行处理。
2 使用varcharTop
8 楼kingcaiyao(aking)回复于 2002-04-01 10:52:46 得分 0
在sqlserver中如果你定义一个Field为char类型,如果你的值长度不够,它会自动补空格,而varchar则不会Top
9 楼yeqiufeng(叶秋枫)回复于 2002-04-01 11:36:49 得分 0
我读出来的东东
第一个操作就是 .Trim()
管它什么数据库
我只要前后没空格的字符串
@_@Top
10 楼kalajiqi(一包烟、两瓶酒)回复于 2002-04-01 11:56:20 得分 0
是这样的,我平时也就怎么用了。Top
11 楼TLFLY(一意孤行)回复于 2002-04-01 12:00:07 得分 5
把字段的类型设为varcharTop
12 楼silver_sky(挪威森林)回复于 2002-04-01 12:33:00 得分 0
不一样是因为BDE在显示的时候TRIM掉了空格吧?
我用BCB的TABLE或ADOTABLE连ACCESS的时候,有一个时间日期字段。在BCB中都是
1899-12-30 XXXXX,而在VB,VC中只有XXXXTop
13 楼songhtao(三十年孤独)回复于 2002-04-01 13:32:32 得分 0
我想请教dbexpress是什么样的东西。Top




