大概要求从代码可以看出    name的数据类型是 varchar
代码如下:
procedure TForm3.Button1Click(Sender: TObject);
begin
if ( edit1.text='') then
       begin
       MessageBox(Application.Handle,'请输入 入库单编号 !', '提示', MB_ICONEXCLAMATION);
       end
       else if( edit2.text='') then
       begin
       MessageBox(Application.Handle,'请输入 商品代码 !', '提示', MB_ICONEXCLAMATION);
       end
        else if ( edit3.text='') then
       begin
       MessageBox(Application.Handle,'请输入 名称 !', '提示', MB_ICONEXCLAMATION);
       end
       else if( edit4.text='') then
       begin
       MessageBox(Application.Handle,'请输入 数量 !', '提示', MB_ICONEXCLAMATION);
       end
               else if ( edit5.text='') then
       begin
       MessageBox(Application.Handle,'请输入 日期 !', '提示', MB_ICONEXCLAMATION);
       end
       else if( edit6.text='') then
       begin
       MessageBox(Application.Handle,'请输入 供应商 !', '提示', MB_ICONEXCLAMATION);
       end
       else
       begin
    DataModule1.ADOQuery1.SQL.Text:='select * from alldata where alldata.name=''' +Form3.Edit3.Text+'''';
    DataModule1.ADOQuery1.Active:=true;
    if ( not DataModule1.ADOQuery1.IsEmpty) then
    begin
    DataModule1.ADOQuery1.SQL.Text:='update alldata set alldata.number=(select number from datain where data.name='''+form3.Edit3.Text+''')+'''+form3.Edit4.Text+''' from  datain where adtain.name='''+form3.Edit3.Text+'''';
    DataModule1.ADOQuery1.ExecSQL;
    DataModule1.ADOQuery1.SQL.Text:='insert into datain (inid,shid,name,number,date,provider) values ('+form3.Edit1.Text+','+form3.Edit2.Text+','''+form3.Edit3.Text+''','+form3.Edit4.Text+','''+form3.Edit5.Text+''','''+form3.Edit6.Text+''') ';
    DataModule1.ADOQuery1.ExecSQL;
    MessageBox(Application.Handle,'添加入库成功!', '提示', MB_ICONEXCLAMATION);
    form3.Edit1.Text:='';
    form3.edit2.Text:='';
    form3.Edit3.Text:='';
    form3.edit4.Text:='';
    form3.Edit5.Text:='';
    form3.edit6.Text:='';
   DataModule1.ADOtable1.close;
   DataModule1.ADOtable1.open;我觉得是红字部分有错误,但是不知道错在哪?是语法错误