使用DBExpress+ClientDataSet保存数据的异常

njypch 2012-04-26 03:49:07
一直以来字典类数据都是用DBExpress+ClientDataSet来出来的.
但知道最近才发现在处理SQL SERVER2000数据库时对字符型字段,
保存的数据末尾有'\0'(ASCII 0)的存在.也就是说,如果保存的是
'ABCD',那么实际数据库字段长度不是4,而是5.
这个问题该如何解决呢?
...全文
138 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
njypch 2012-04-27
  • 打赏
  • 举报
回复
经测试,和DBExpress的数据驱动程序有关.
连接ORACLE时没有该问题,改用ADO连接SQLSERVER也没有该问题.
njypch 2012-04-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

提交记录时加TRIM(EDIT1.TEXT);试试。
[/Quote]
不是空格,所以trim无效.实际上我测试过ClientDataSet.Filed[n].AsString的长度,是正常的.
只是提交数据库后才出问题.
我看见佛 2012-04-26
  • 打赏
  • 举报
回复
提交记录时加TRIM(EDIT1.TEXT);试试。

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧