access数据库中有user表,表中字段:userid,userpsw。
我只在vb窗口中建好框架和已使用“adodc控件”与数据库连接,其他一点都没做,怎样写代码才可以在窗口的两个text框中输入id和psw后判断是否与数据库user表中记录相对应,对应就show另一个窗口?
我想了一种方法是用SQL语言SELECT * FROM USER WHERE USERID="TEXT1.TEXT" AND USERPSW="TEXT2.TEXT",这样如果找不到EOF就为真,可是具体代码不会写,请各位前辈指导一下。
请解释详细,我是初哥。

解决方案 »

  1.   

    用ADODB,直接在FormLoad中写代码连接。同意楼上的,先看看书先。
      

  2.   

    strsql="select * from user where userid='" & text1.text _
    & "and userpsw='" & text2.text & "'" 
      

  3.   

    同意Jhzyz(Frank Feng黑名单上的人),用ADODB最方便,在工程中引用Microsoft DAO 3.6 Object Library,在登陆窗口顶部添加代码
    Dim db As Database
    Dim rs As Recordset
    在窗体登陆确定按钮单击事件中添加代码
    Set db = OpenDatabase(数据库文件的完整路径)
     Set rs = db.OpenRecordset(该数据库中要查询的表,本例为user)
    就这样连接到数据库中,然后就可以执行你想要的工作了
    查询语句同 Daniel0318(深水炸弹)
    执行SQL语句用db.Execute(连接字符串)
      

  4.   

    Option ExplicitPrivate Sub Command1_Click()
        Dim sql As String
        
        sql = " SELECT * FROM user WHERE USERID= '" & Text1.Text & "' AND USERPSW= '" & Text2.Text & "'"
        Adodc1.CommandType = adCmdText
        Adodc1.RecordSource = sql
        Adodc1.Refresh
        If Adodc1.Recordset.EOF = True Then
            MsgBox "err"
        Else
            MsgBox "ok"
        End If
    End SubPrivate Sub Form_Load()
        Adodc1.Refresh
    End Sub
      

  5.   

    楼上两位有BUG。
    这种方法,很容易被人利用。
    建议用用户名,读出密码,然后比对
    因为如果在密码中输入
    1' or '1' = '1 就相当于通用密码
      

  6.   

    多谢各位的热心帮助,特别是“sxs69”我的问题基本解决,可是“zqfleaf(动力港湾)”所讲的BUG真的存在,有没有办法可以彻底解决???
    多谢!
      

  7.   

    zqfleaf(动力港湾) 说的极好,本人收获不小.