导航
  • 主页
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API
  • 问答

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

静远 2011-04-08 12:14:54
在ClientDataSet中双击添加Fields时,用DB控件关联该字段,会出现不区分中英文的情况,比如某字段A,设置Size为20,与之相关联的DB控件中,不管中文英文,每一个都当一个字符处理,然后在保存提交数据的时候才又进行截取,这样就导致一个问题,在界面输入数据的时候,输的数据比较多,保存之后就会截断数据。
不知道怎么样处理可以在填写的时候就区分中英文呢?ClientDataSet中的添加Fields只有String类型没有AnsiString类型。
...全文
276 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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写入
回复
发动态
发帖子
Delphi
创建于2007-08-02

4813

社区成员

Delphi 开发及应用
申请成为版主
社区公告
暂无公告