try
    with data do        //data为数据模块对象
    begin
     ADOQLogin.Close;     //关闭ADOQuery
     ADOQLogin.sql.clear;  // 清空 ADOQuery的SQL语句
     ADOQLogin.sql.add('SELECT * FROM Users WHERE (Username LIKE "‘+edit1.text+'")');//添加查找用户的语句
     ADOConnectBooks.Connected:=True;//连接数据库
     ADOQLogin.open;            //打开ADOQuery
     end
    except
     begin
     messageDlg('connect to database error!',mterror,[mbOK],0);//如果打开数据库不成功提示
     close;
设计了一个登陆窗口,运行成功  但是输入用户名跟密码后  提示列名无效  改如何修改

解决方案 »

  1.   

    SQL中引用的列名只有Username,确认:
    1、所连的库对不对
    2、字段名称是否正确
      

  2.   

    把你的SQL输出一下,放到数据库试一下就知道哪错了
      

  3.   

    把Users、Username分别用[]号括起来select * from [Users] where [Username]='aa'
      

  4.   

    在SQL表里用查询  可以查到啊
      

  5.   

    edit1.text
    这个有问题
    trim(edit1.text)
      

  6.   

    like 后面的" 可能有问题.
      

  7.   

    就是这里‘+edit1.text+' 的问题
      

  8.   

    原SQL语句
    'SELECT * FROM Users WHERE (Username LIKE "‘+edit1.text+'")'
    应该修改为:
    'SELECT * FROM Users WHERE (Username LIKE '+quotedstr(trim(edit1.text))+ ")"
      

  9.   

    'SELECT * FROM Users WHERE (Username LIKE '+quotedstr(trim(edit1.text))+ ")"
    后面引号什么情况
      

  10.   


    sql.Text:='SELECT * FROM [Users] WHERE [Username] LIKE '''+edit1.text+'''';