无法绑定由多个部分组成的标识符bsskinedit.text
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;
小弟新手 求大神指点
[解决办法]
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,.....
你要复习一下 ' 号的 用法 ....
[解决办法]
正确写法是: (现假设你的是字符,即要用多个单引号)
SQL1:=SQL1+') values '''+
bsskinEdit1.Text+''','''+bsskinEdit2.Text+
''','''+bsskinEdit3.Text .........