procedure TForm1.Button1Click(Sender: TObject);
begin
   ADOQuery1.Close;
   ADOQuery1.SQL.Clear;
   AdoQuery1.SQL.Add('alter table kh add '+Edit1.Text+'char(10)');
   ADOQuery1.ExecSQL;
end;上面这段代码在我输入例如2005等数字时出错.如果输入文本时正确.
我现在想要混合型的.

解决方案 »

  1.   

    AdoQuery1.SQL.Add('alter table kh add '''+Edit1.Text+'''char(10)');
      

  2.   

    谢谢各位。这段代码我已经调试过了。ADOQuery1.sql.add('alter table kh add'+'['Edit1.text+']'+'char(10)');
    上面这个是正确的。
      

  3.   

    ADOQuery1.sql.add('alter table kh add 'Edit1.text+' char(10)');
    --------------------------------------------------^^^这里有个空格如果你用的是非法的标识符:
    ADOQuery1.sql.add('alter table kh add ['Edit1.text+'] char(10)');