经过多次测试发现DELPHI2007中使用DBEXPRESS控件读取ORACLE的某些字符型字段时,总是把最后一个字符给自动截断了.原来是10位字符,读取出来之后就变成9位了.
实在是郁闷,请高手指教!例子:
ORACLE数据库+DBEXPRESS
在窗体中拖入TSQLConnection,TDataSetProvider1,TSQLQuery,TClientDataSet,TDataSource,TDBGrid
这几个控件.
表A结构
ID     CHAR(10)
TYPE   CHAR(2)
NAME   CHAR(20)A表中记录如下
ID            TYPE        NAME
0000000001     01         测试
各个控件全设置好了。然后在BUTTON1的CLICK事件里写代码
sqlquery1.SQL.Clear;
sqlquery1.SQL.Text:='select * FROM A';
ClientDataSet1.Active:=true;结果在DBGRID里显示结果如下
ID            TYPE        NAME
000000000     0           测试很奇怪的是NAME字段的值没有被截断
而ID和TYPE字段的最后一位字符就被截掉了然后我把TSQLQuery控件换成TSQLTABLE控件.结果还是一样.
然后我又把DBEXPRESS连接换成ADO连接,结果却显示正常.我的天啊.真不知道该何解啊?
请高手指教,答对送100分!