中文的标点,如引号、逗号,sql的支持有问题。建议作替换或者用二进制。

解决方案 »

  1.   

    什么数据库?
    怎样插入的?我在 SQL SERVER  管理器中试验,没有任何问题!
      

  2.   

    SQL SERVER
    通过三层系统Insert into我也在查询分析器中试过,可以用,所以才是怪怪的问题
      

  3.   

    建议用带参数的方式INSERT。
    with ClientDataSet do
    begin
      CommandText:='Insert INTO ATable(AField) Values (:AValue)
      Params.ParamByName('AValue').AsString:=toCDSParamsString('....'); //因为IDE 不允许1行多于255个字符,因此要用 + 把字符串分成几部分
      Execute;
    end;//如果用 ADO 连接 SQL SERVER,应当要用此函数
    function ToCDSParamsString(s:string):string;
    var
      ws:WideString;
      i:Integer;
    begin
      ws:=s;
      for i:=1 to Length(ws) do
      begin
        if Ord(ws[i])>255 then
          s:=s+' ';
      end;
      Result:=s;
    end;
    我做了试验,不再报错,但检查数据库中,字符串被截断了,可能太长了。
    另外,我上次试验的在SQL 管理器中进行的插入,同样被截断了。你查询分析器中的试验有没有进行检查过?