本人用adoquery插入更新数据后,怎么中文的老是只显示前面的几个,数量少有的还显示不出来,而英文就不会保存错误,我的数据库是sql  server  2000的,请问各位大侠有什么好的解决方法,最好比较简单的.

解决方案 »

  1.   

    是DELPHI的BUG,在SQL中不要用":变量"这种形式,直接用字符串累加构造SQL或用数据集的方式写数据库。我想你应该是用的SQL直接写的数据库
      

  2.   

    首先,你要确保SQL SERVER7安装时所安装的字符集正确。否则,SQL SERVER 2000只有重新安装了。
    对于这个问题,我得出的结论是由于DELPHI7 和SQL SERVER 2000所采用的编码方式不相同。SQL SERVER 采用的是UNICODE编码方式,而DELPHI采用的是ANSI
    方式。所以在有汉字数据更新时,就会使得汉字更新不完全,我的方法是把长度设成100。
    就可以解决这个问题。
      

  3.   

    zl1我是用参数的,这样不行吗?直接用字符串累加构造SQL,麻烦举个例子zl2我是直接安装server 2000的,这样安装的数据集正确吗?安装时要注意什么,还是要增加安装什么??你上次说在应用服务器的DATA MODULE 的存储过程的BeforeExecute事件中加入那些代码,
    能不能说清楚点,BeforeExecute事件在哪个控键上??
      

  4.   

    比如:adoquery.sql.text:='update table1 set field1='''+Str1+''' where fieldkey=1';