表中有很多字段,写个Insert语句要很多的
...
Add(''''+E1.Text+''',');
Add(''''+E2.Text+''',');
...
而且如果E1.Text是''空串,还要用null代替,实在是太麻烦了,请问有没有简单点的方法?

解决方案 »

  1.   

    假设为100个Edit并且名字为E1..E100,对应的数据库字段都是字符型;
    var
       ValuesString:String;
       tmpString:String;
       i:Integer;
    begin
       ValuesString:='';
       for i=1 to 100 do
       begin
         tmpString:=TEdit(FindComponent('E'+IntToStr(i))).Text;
         if tmpString='' then
            tmpString='null'
         else
            tmpString=''''+tmpString+'''';
         if i<100 then 
            tmpString=tmpString+','
         ValuesString=ValuesString+tmpString;
       end;
      

  2.   

    楼上兄弟的方法太妙了,但是update语法就不能用了
      

  3.   

    ValuesString
    tmpString
    用字符串数组
    ValuesString[i]
    tmpString[i]作为条件的项ValuesString[i]和tmpString[i]:= -1 判断 ValuesString[i]= -1 and 
                                                        tmpString[i] =-1这样不行?