VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 887|回复: 4

再问adoquery插入更新时保存中文数据不完整

[复制链接]

2

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-3-6 15:30:02 | 显示全部楼层 |阅读模式
本人用adoquery插入更新数据后,怎么中文的老是只显示前面的几个,数量少有的还显示不出来,而英文就不会保存错误,我的数据库是sql  server,请问各位大侠有什么好的解决方法,最好比较简单的.
回复

使用道具 举报

0

主题

40

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-5-23 10:45:01 | 显示全部楼层
是DELPHI的BUG,在SQL中不要用":变量"这种形式,直接用字符串累加构造SQL

或用数据集的方式写数据库。

我想你应该是用的SQL直接写的数据库
回复

使用道具 举报

0

主题

13

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-5-23 21:45:01 | 显示全部楼层
首先,你要确保SQL SERVER安装时所安装的字符集正确。否则,SQL SERVER只有重新安装了。
对于这个问题,我得出的结论是由于DELPHI 和SQL SERVER所采用的编码方式不相同。SQL SERVER 采用的是UNICODE编码方式,而DELPHI采用的是ANSI
方式。所以在有汉字数据更新时,就会使得汉字更新不完全,我的方法是把长度设成100。
就可以解决这个问题。
回复

使用道具 举报

2

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-5-27 15:15:01 | 显示全部楼层
zl1我是用参数的,这样不行吗?直接用字符串累加构造SQL,麻烦举个例子

zl2我是直接安装sql server的,这样安装的数据集正确吗?安装时要注意什么,还是要增加安装什么??你上次说在应用服务器的DATA MODULE 的存储过程的BeforeExecute事件中加入那些代码,
能不能说清楚点,BeforeExecute事件在哪个控键上??
回复

使用道具 举报

0

主题

40

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-6-3 11:00:01 | 显示全部楼层
比如:adoquery.sql.text:='update table1 set field1='''+Str1+''' where fieldkey=1';
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表