做三层应用时碰到的奇怪的问题!(100分)

  • 主题发起人 主题发起人 Bkhswrp
  • 开始时间 开始时间
B

Bkhswrp

Unregistered / Unconfirmed
GUEST, unregistred user!
先建立了一个MSTDataModule,然后让一个ADOdataset跟一个基表(SQL server7.0)相连,让DataSetProvider跟这个ADODataSet相连。
客户端使用ClientDataSet跟MTSDataModule中的那个数据集(基表)对应,客户端提供对基表的显示、修改操作。
修改的时候碰到一个奇怪的问题:如果一个数据项是Varchar(6)类型,修改后该数据项的值即使小于6个字符,经过更新(ApplyUpdates)后,数据库中存放的却是永远是6个字符的串,不足6个的后面则为空字符。
请问这是怎么回事,如何解决呢?
 
等待中!
 
怎么没有人回啊?是不是没讲清楚啊。
 
没碰到过,帮你顶一下吧!
 
没什么的,应是正常的
 
用sql2000试试
 
你的CLIETNDATASET中的这个字段的信息应该没有更新
 
你的问题我碰到过,在Sql7下,最好改用上传Sql的方法更新数据?
 
正常
你字段类型本来就是变长类型的
 
ADO就是这样的,BDE就会自动去掉空格,这也不能说是ADO的错,数据结构就是6位嘛,不足补空格,不过真是不方便,好像显示时ClientDataset可以去掉多余的空格
 
这个问题我解决了。在Sql7相关的表上使用触发器,使得在更新的时候强制去掉多余的空格
 
后退
顶部