http://www.dj99.net/fls3/1/67.html送给大家! because 我='一生有你'希望大家活的比我好!

解决方案 »

  1.   

    例:引用ADO对象
    Private cn As Connection
    Private rs As Recordset
    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    connectstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "XXX.mdb"
    cn.Open connectstringrs=con.execute("SELECT * FROM admin where username='" & user.text & "' and password='" & pass.txt & "'")if rs.eof then
       msgbox "用户名或密码错误!"
       ...................代码
    else
       me.hide
       form2.show
    endif
      

  2.   

    Dim conn As New ADODB.Connection
    Dim rs As New ADODB.RecordsetPrivate Sub Command1_Click()
    Dim ConnStr, name As String
        name = txtid.Text
        ConnStr = "Provider=Microsoft.Jet.OLEDB.3.51;" & _
                  "Data Source=e:\load.mdb"
        conn.Open ConnStr
        
        SQL = "Select * From user Where 用户名= '" & name & "'"
        rs.Open SQL, conn
        rs.MoveFirst
        
    If rs.Fields(0) <> "" Then
    If rs.Fields(1) = txtpass.Text Then Form2.Show
    Else
    MsgBox "错误"
    End If
    End Sub
    我的load数据库里有两个字段 用户名 密码。
      

  3.   

    你在vb里点击 工程 >引用 选择
    Microsoft ActiveX Data Objects 2.1 Libray
    还有把你的ado控件删掉
    还有什么需要联系我
    我给你的代码是经我调通过的!
      

  4.   

    '引用Microsoft DAO 3.X Object LibraryDim k As String
    Dim j As StringDim db As Database
    Dim rec As Recordset
    Dim dbcondition As Stringj = CStr(txtPassword.Text)
    k = CStr(txtUserName.Text)Set db = OpenDatabase("c:\my documents\0012dlgly.mdb")dbcondition = "select * from 管理员登录和添加  where 管理员用户名='k'and 管理员密码='j'"
    Set rec = db.openrecordset(dbcondition)If rec.EOF Then
        If MsgBox("你输入的管理员用户名或管理员密码错误", vbOKCancel, "提示") = vbOK Then
            txtUserName.Text = ""
            txtPassword.Text = ""
            txtUserName.SetFocus
        Else
            End
        End If
    Else
        Form1.Show
    End If应该差不多了!
      

  5.   

    您应该
    (1)用户名不为空,密码不为空
     if txtUserName<>"" and txtPassword<>"" then
     ...
     end if(2)打开数据库
     Set db = DBEngine.Workspaces(0).OpenDatabase("c:\my documents\0012dlgly.mdb")(3)根据用户名和密码产生查询命令
    strSOL="select * from 管理员登录和添加  where 管理员用户名='" & k & "'"
    strSQL=strSQL & "and 管理员密码='" & j &"'"(4)执行数据库查询
    set rs=db.Recordset.OpenRecordset(strSQL,dbOpenDynaset)
    (5)判断是否存在符合条件的记录
     if rs.EOF then
      '无
     else
      '有
     end if
    (5)关闭数据库
     db.close
      

  6.   

    同意qqyy_sj(♀天地无邪)的意见。
      

  7.   

    下面的代码是整个窗体中,确定,取消及from的代码,其中txtUserName我用ComboUserName,因为这样可以选择多个用户及对应的用户口令。你可以参考一下。
    Option ExplicitPublic LoginSucceeded As BooleanPrivate Sub cmdCancel_Click()
        '设置全局变量为 false
        '不提示失败的登录
        LoginSucceeded = False
        Me.Hide
        End
    End SubPrivate Sub cmdOK_Click()
        '检查正确的密码
    Dim PassWord As String
    Dim MyData As Database
    Dim MyTable As Recordset
    Set MyData = Workspaces(0).OpenDatabase(App.Path & "\0012dlgly.mdb")
    PassWord = "Select 管理员用户名,管理员密码 From 管理员登录和添加 Where 管理员用户名 = " & "'" & ComboUserName.Text& "'"
    Set MyTable = MyData.OpenRecordset(PassWord)
        If txtPassword = MyTable(1) Then
            '将代码放在这里传递
            '成功到 calling 函数
            '设置全局变量时最容易的
            LoginSucceeded = True
            Me.Hide
            Form1.Show vbModal
        Else
            MsgBox "无效的密码,请重试!", vbCritical + vbOKOnly, "登录"
            txtPassword.SetFocus
            SendKeys "{Home}+{End}"
        End If
    End SubPrivate Sub Form_Load()
    On Error Resume Next
    Dim MyData As Database
    Dim MyTable As Recordset
    Set MyData = Workspaces(0).OpenDatabase(App.Path & "\0012dlgly.mdb")
    If MyData.Name = "" Then
        MsgBox "系统数据库被毁坏,请与系统管理员联系!", vbCritical + vbOKOnly, "警告"
        End
    End If
    Set MyTable = MyData.OpenRecordset("管理员登录和添加")
    Do While Not MyTable.EOF
        ComboUserName.AddItem MyTable(0)
        MyTable.MoveNext
    Loop
    ComboUserName.ListIndex = 0
    End Sub
      

  8.   

    不要用
    "select * from 管理员登录和添加  where 管理员用户名='" & k & "' and 管理员密码='" & j &"'"
    这样小儿科的查询来校验用户口令。因为任何人可以在用户名栏中和口令栏中都填上 'or''=' ,使你的最终SQL为
    select * from 管理员登录和添加  where 管理员用户名=''or''='' and 管理员密码=''or''=''。
    因为''=''恒成立,他就可以登录了。下面是正确的例子:
    dim db as database, rs as recordset
    Dim k As String
    Dim j As String 
    j = trim(txtPassword.Text)
    k = trim(txtUserName.Text)
    If k <> "" and j <> "" Then
        Set db = DBEngine.Workspaces(0).OpenDatabase("c:\my documents\0012dlgly.mdb")
        set rs = db.openrecordset("select * from 管理员登录和添加  where 管理员用户名='" & k & "'"
        if not rs.eof and rs!管理员密码= j Then
            msgbox "登录成功"
            ......
            unload me
        endif
    endif
    msgbox "你输入的管理员用户名或管理员密码错误", vbOKCancel, "提示"
    txtUserName.text = ""
    txtPassword.Text = ""
    txtUserName.SetFocus
      

  9.   

    换句话说!
    我用"工程"/"添加窗体"/"登录对话话框"生成了一个frmlogin窗体做了一个c:\my documents\gly.mdb数据库,数据库中有两个字段:用户名和密码
    全是text类型的!并且添加了记录!想能过frmlogin做启动窗体!通过输入的值与数据库中的值相比较!做是否是管理员操作!我的意思就是这些!希望你们帮帮我!我想实现不难的!可是我实在是没办法!求求各位了!拜托!