读书人

ADO访问Access数据库的有关问题

发布时间: 2012-02-17 17:50:41 作者: rapoo

ADO访问Access数据库的问题
我用TADOConnection 连接了Access数据库,读写一个表数据,该表有一个字段name 定义为char(40),当我向里面插入一条记录时(如插入'名称1'),然后查询出来读到的name值为'名称1 ',该字段值被填充了空格,大小应该填充满40个字符大小,读取方式ADOQuery1.FieldByName('name').AsString,同样的放法读其他类型的数据库(如oracle)正常,请问这什么原因,如何解决?

[解决办法]
不同数据库管理系统
1、数据类型实现可能不同
2、与ADO/OLE-DB驱动程序也可能有关
把空格去掉即可
Trim(ADOQuery1.FieldByName('name').AsString)
[解决办法]
是不是改你的表结构更合理些,为什么要用char?变长不是更节省空间吗?
[解决办法]
用可变字符串类型
[解决办法]
这个问题可以在你的Access数据库相应表设置中name字段的有效性规则中添加:RTrim([name])
的方式来解决。
各有利弊,这样后面就不能加空格了……
[解决办法]
oracle中一般都用varchar2类型吧。
access中为"文本"类型

查询时可以用trim去除前后的空格
[解决办法]
设置为VCHAR(40)

读书人网 >.NET

热点推荐