procedure TForm2.bsSkinButton2Click(Sender: TObject);
    var
emp:Tbitmap;
i:integer;
SQL1:String;
begin
          emp:=TBitmap.Create;
          if (bsskinedit1.Text='') then
               begin
                 showmessage('请您输入姓名!');
                 bsskinedit1.SetFocus;
               end
               else begin
                 if bsskinedit2.Text='' then
                   begin
                     showmessage('请您输入病案号!');
                     bsskinedit2.SetFocus;
                   end
                 else begin
                 SQL1:=' insert into table_1(患者姓名,病案号,年龄,手术日期,主诉,阳性体征,评论';
                 for i:=1 to 95 do
                   begin
                   SQL1:=SQL1+',图片'+Inttostr(i);
                   end;
               SQL1:=SQL1+') values(bsskinEdit1.Text,bsskinEdit2.Text,bsskinEdit3.Text,bsskinEdit4.Text,bsSkinMemo1.Text,bsSkinMemo2.Text,bsSkinMemo3.Text';
               for i:=1 to 95 do
                 begin
                  SQL1:=SQL1+',bsskindbimage'+inttoStr(i)+'picture.graphic';
                 end;
               SQL1:=SQL1+')';         With ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    sql.add(sql1);    ExecSQL; 
   end;
end;
小弟新手   求大神指点

解决方案 »

  1.   

    SQL1:=SQL1+') values(bsskinEdit1.Text,bsskinEdit2.Text,bsskinEdit3.Text,bsskinEdit4.Text,bsSkinMemo1.Text,bsSkinMemo2.Text,bsSkinMemo3.Text';showmessage(sql1);  // 这上面那句加这个, 你就知道问题所以.sql1 的语句已成 ... ) values(bsskinEdit1.Text,bsskinEdit2.Text .....bsskinEdit1.Text 假设是 123
    bsskinEdit2.Text 假设是 456
    ....所以根本无法组成 ) values(123,456,.....你要复习一下 ' 号的 用法 ....
      

  2.   

    正确写法是: (现假设你的是字符,即要用多个单引号)
    SQL1:=SQL1+') values '''+
           bsskinEdit1.Text+''','''+bsskinEdit2.Text+
           ''','''+bsskinEdit3.Text   .........
      

  3.   

    谢谢
    但是SQL1:=SQL1+',bsskindbimage'+inttoStr(i)+'picture.graphic';
    要怎么改呢