在做登录窗体时,如果用ADO 控件(不用纯字符串)连接数据库(已连接成功),那后面的的用户和密码验证怎么写????

解决方案 »

  1.   

    ADO控件的属性 内有 身份验证 填入身份验证信息即可!
      

  2.   

    不是吧?我想问的是做登录窗体时怎样用ADO控件完成对窗体文本框中所输入的用户和密码与数据库进行比较验证.如果ok则进行下一步,就象windows中登录中的验证的那样密码错误则不能进入下一步。。
      

  3.   

    Private Sub Command1_Click()
        Adodc1.UserName = txtUserName
        Adodc1.Password = txtPwd
        
        Adodc1.Refresh
    End Sub
      

  4.   

    楼上兄弟我还是不太明白,这里有用ADO做验证的资料,你帮我改成用ADO控件做的好吗?Public adoCon As ADODB.Connection       '创建ADO连接数据库对象
    Public adoRs As ADODB.Recordset         '创建ADO记录集对象
    Public adoCmd As ADODB.Command          '创建ADO命令对象
    Public adoPara As ADODB.Parameter       '创建ADO参数对象
    Public procon As StringPublic Sub connectDB()
    Set adoCon = New ADODB.Connection
    With adoCon
        .Provider = "SQLOLEDB"
        .ConnectionString = "Server=luoyi;Uid=sa;Pwd=sa;Database=mydb"
        .Open
        End With
    End SubPrivate Sub cmdOK_Click()
    '运行时自动检测错误,检测到则到ErrMsg标号处做相应的处理On Error GoTo ErrMsg
    Dim SQL As String   '定义一个保存SQL语句的变量
    '到Login表中查询是否有符合条件的记录存在
    '使用的是Select count(*)from..返回值是一个大于等于0的整数
    SQL = ""
    SQL = "Select Count(*) From Login Where Name='" & Trim(txtname.Text) & "'"
    SQL = SQL & " And Password='" & Trim(txtpassword.Text) & "'"Set adoRs = adoCon.Execute(SQL)  
    If adoRs(0) = 0 Then
       MsgBox "您输入的用户名或密码有误,请更正!", vbOKOnly + vbExclamation, "系统提示"
       txtname.SetFocus
       Exit Sub
    End IfUnload Me                   '通过身份验证后卸载登录窗体
    frmsystem.Show              '显示系统界面,可以进入系统操作
      

  5.   

    不要将用户名和密码同时作为条件来查询。否则登录者可以通过一些技巧穿过你的验证。Private Sub cmdOK_Click()
    '运行时自动检测错误,检测到则到ErrMsg标号处做相应的处理On Error GoTo ErrMsg
    Dim SQL As String   '定义一个保存SQL语句的变量
    '到Login表中查询是否有符合条件的记录存在
    '使用的是Select count(*)from..返回值是一个大于等于0的整数
    SQL = ""
    SQL = "Select * From Login Where Name='" & Trim(txtname.Text) & "'"Set adoRs = adoCon.Execute(SQL)  
    If adoRs.EOF Then
       If MsgBox("您输入的用户名有误,请更正!", vbOKCancel + vbExclamation, "系统提示") = vbOk Then
           txtname.SetFocus
           Exit Sub
       Else
           Unload me
           End
       End If
    End If
    IF adoRs!Password <> Trim(txtpassword.Text) Then
       If MsgBox("您输入的密码有误,请更正!", vbOKOnly + vbExclamation, "系统提示"") = vbOk Then
           txtname.SetFocus
           Exit Sub
       Else
           Unload me
           End
       End If
       txtname.SetFocus
       Exit Sub
    End IfUnload Me                   '通过身份验证后卸载登录窗体
    frmsystem.Show              '显示系统界面,可以进入系统操作
      

  6.   

    允许取消。给用户留一条退路。
    另,最好设一个密码错误计数器变量,到达允许重试上限后退出。防止恶意猜测密码。   If MsgBox("您输入的密码有误,请更正!", vbOKCancel + vbExclamation, "系统提示"") = vbOk Then
      

  7.   

    sql="select * from  login where 用户名='" & txtname.Text & "'"
    if adors.recordCount =0 then
    msgbox "无此用户"
    elseif txtpassword.Text <> adors("password") then
    msgbox "您输入的密码有误,请更正!"
    else
    Unload Me                   '通过身份验证后卸载登录窗体
    frmsystem.Show              '显示系统界面,可以进入系统操作
      

  8.   

    dim sql as string
    sql="select * from rs_login where rs_name='" & Trim(Text1.Text) & " and rs_pwd='" & Trim(Text2.Text) & "'"
    Adodc1.RecordSource = sql
    If Adodc1.Recordset.RecordCount > 0 Then
      .....
    else
    ....
    end if