我用ADOQuery连SQL Server数据库,通过connectionstring连接,
在设计时将SQL置为select * from student where sno='a0001'
运行一切正常。当我的程序中
procedure TForm1.Button1Click(Sender: TObject);
begin
    with ADOQuery1 do
    begin
        close;
        sql.Clear;
        sql.Add('select * from airinform where sno="a0001" ');
        open;
    end;
end;提示‘列’a0001'无效',我并没有a0001这一列呀。谁能告诉我原因。谢谢。

解决方案 »

  1.   

    sql.Add('select * from airinform where sno="a0001" ');
    改为
    sql.Add('select * from airinform where sno=' + QuotedStr('a0001'));
      

  2.   

    sql.Add('select * from airinform where sno=''a0001'' ');
      

  3.   

    sql.Add('select * from airinform where sno='''+'a0001'+'''');
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
        with ADOQuery1 do
        begin
            close;
            sql.Clear;
            sql.Add('select * from airinform where sno=''a0001''');
            open;
        end;
    end;
      

  5.   

    sql.Add('select * from airinform where sno="a0001" ');//a0001左右的引号不正确,
    改为
    sql.Add('select * from airinform where sno=''a0001''');
      

  6.   

    sql.Add('select * from airinform where sno='+''''+a0001+'''');