我用ADO连接SQLSERVER,代码是这样的:
   with DataModule1.ADOQuery1 do
      begin
        close;
        SQL.Clear;
        SQL.Add('select * from user where UserName=LogF.Edit1.Text');
        Open;
      end;
老是提示连接User表出错,是不是在User后面还得加一个什么后辍才会对呀?

解决方案 »

  1.   

    出错信息为:在关键词“User”附近有语法错误
      

  2.   

    SQL.Add('select * from user where UserName='+LogF.Edit1.Text);
      

  3.   


    with DataModule1.ADOQuery1 do
          begin
            close;
            SQL.Clear;
            SQL.Add('select * from user where UserName='+''''+LogF.Edit1.Text+'''');
            Open;
          end;
      

  4.   

    SQL.Add('select * from user where UserName='''+LogF.Edit1.Text+'''');
      

  5.   


    SQL.Add('select * from user where UserName='''+LogF.Edit1.Text+'''');
      

  6.   

    SQL.Add('select * from user where UserName='+char(39)+LogF.Edit1.Text+char(39));
      

  7.   

    SQL.TEXT:='select * from user where UserName='+#39+LogF.Edit1.Text+#39;
      

  8.   

    SQL.Add(format('select * from user where UserName=''%s''',[LogF.Edit1.Text]));
      

  9.   

    SQL.Add('select * from user where UserName='''+LogF.Edit1.Text+'''');
      

  10.   

    应该是SQL.Add('select * from user where UserName=LogF.Edit1.Text');这句的问题
    改为
    SQL.Add('select * from [user] where UserName=LogF.Edit1.Text');
    user为SQL的关键字,最好不用做表名。非要用则要在两边加上[]。用数字做表名也同。        
      

  11.   

    哈哈,所有的方法全都用上了不过 caijitao(阿修罗) 的方法不正确,呵呵
      

  12.   

    把上述两种方法综合一下不就可以了!!:-)
       with DataModule1.ADOQuery1 do
          begin
            close;
            SQL.Clear;
            SQL.Add('SELECT * FROM [USER] WHERE UserName='''+LogF.Edit1.Text+'''');
            Open;
          end;