请教关于Delphi2010中字符长度的问题

静远 2011-04-08 12:14:54
在ClientDataSet中双击添加Fields时,用DB控件关联该字段,会出现不区分中英文的情况,比如某字段A,设置Size为20,与之相关联的DB控件中,不管中文英文,每一个都当一个字符处理,然后在保存提交数据的时候才又进行截取,这样就导致一个问题,在界面输入数据的时候,输的数据比较多,保存之后就会截断数据。
不知道怎么样处理可以在填写的时候就区分中英文呢?ClientDataSet中的添加Fields只有String类型没有AnsiString类型。
...全文
417 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovelymelon 2011-04-08
  • 打赏
  • 举报
回复
这个好像跟什么中英文没关系吧,只要将字段的长度设置足够长就可以了。
另外,可以根据你字段的长度,设置输入控件能够接收的最大长度
静远 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bdmh 的回复:]
在delphi中用ansistring写入
[/Quote]
因为我是绑定的DB控件,不需要手动去写入数据,而ClientDataSet的新建Fields中又没有AnsiString类型。
静远 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lovelymelon 的回复:]
这个好像跟什么中英文没关系吧,只要将字段的长度设置足够长就可以了。
另外,可以根据你字段的长度,设置输入控件能够接收的最大长度
[/Quote]
有关系,比如说某个字段我限制只能输入20个长度的字符,数据表中用varchar(20),现在在Delphi的ClientDataSet中建立对应该字段的Fields,该Fields的类型为string,Size为20,然后一个DBText控件绑定这个字段,按正常情况,在DBText中只允许输入20个长度的字符,如果全输入中文,应该是只能输入10个,但是现在可以输入20个中文或20个英文,然后再保存的时候才进行截取,这样就会有问题了。
bdmh 2011-04-08
  • 打赏
  • 举报
回复
在delphi中用ansistring写入

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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