通过adoquery插入中文值,发现只接受一半中文,单英文完全接受,
譬如插入:‘中国’,在后台sql数据库中,查到'中'
如果插入:'abcd',那么在后台mssql中可以完全查到'abcd',估计是那个设置的地方没有设置好,那位大哥知道?

解决方案 »

  1.   

    字段长度,在数据库中设置了varchar(50),够长了的
    我估计是哪个地方设置的问题
      

  2.   

    字段长度varchar(50)肯定是够长的了,nvarchar(50)我也试过了,也是不行的了,
    真是奇怪,就是要掉一半
      

  3.   

    我看到参数设置中由ftstring数据类型和ftwidestring有什么区别啊?
      

  4.   


    插入语句如下:with MCData.ADOQDayReport do
    begin
         Parameters[0].Value:=‘中国’
         ExecSQL;
    end;应该没有问题的啊,奇怪
    在数据库中只查到中
      

  5.   


    你为什么要用 ExecSQL 呢?试试Open我试过了,  with ADOQueryTemp do
      begin
        Parameters[0].Value:= '王文秀';
        Open;
      end;  没有问题
      

  6.   

    .Parameters[0].Size=length('王文秀')
    .Parameters[0].Value:='王文秀'
    .Prepared;你也可以设定一个固定的值.