str:string;
begin
str:=label27.caption+','+label28.caption+','+edit1.text+......;adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('insert into  维修部(id,id2,id3,.......,) values('''+str+''') ');
adoquery1.SQL.Add('values(' '''+label27.caption+''','''+label28.caption+''' ')');
adoquery1.ExecSQL;
end;
我的大概意思是想插入入一条有很多个字段的记录,显然会超过adoquery字符串数255的限制,请问该如何改我上面的语句?

解决方案 »

  1.   

    ADOquery1.Close;
          ADOquery1.sql.Clear;
          sqlstr:='SELECT * FROM 维修部'; //关联表
          ADOquery1.SQL.Add(sqlstr);
          ADOquery1.Open;       //插入新记录
          ADOquery1.Insert;
          ADOquery1.fieldbyName('id').Value:=label27.caption;
          ADOquery1.FieldByName('id2').Value:=label28.caption;
          ADOquery1.FieldByName('id3').Value:=...;
          ...
     
          ADOquery1.Post;
      

  2.   

    用参数吧.
    begin
    str:=label27.caption+','+label28.caption+','+edit1.text+......;adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('insert into  维修部(id,id2,id3,.......,) values(:id1,:id2,:id3,......) ');
    adoquery1.parameters.parambyname('id1').value:=id1;
    ....
    adoquery1.ExecSQL;
    end;