purana 发表于 2006-2-6 09:15:16

一个简单的系统登录窗口代码

<P>很久以前写的,没有调试过。马哥请看。</P>
<P>Option Explicit<BR>Dim cn As ADODB.Connection<BR>Dim rs As ADODB.Recordset<BR>Dim rs1 As ADODB.Recordset</P>
<P>Private Sub CmdOK_Click()<BR>   Dim ConStr As String<BR>   If TxtUserName.Text = "" Then<BR>      MsgBox "請輸入用戶名!", vbOKOnly + vbExclamation, "登錄"<BR>      TxtUserName.SetFocus<BR>      Exit Sub<BR>   End If<BR>   Set cn = New ADODB.Connection<BR>   Set rs = New ADODB.Recordset<BR>   ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" _<BR>                        &amp; "Data Source=" &amp; App.Path &amp; "\StuAcc.Mdb"<BR>   cn.Open ConStr<BR>   cn.CursorLocation = adUseServer<BR>   rs.Open "Select * From User_Property", cn, adOpenKeyset, adLockPessimistic<BR>   If rs.RecordCount &gt; 0 Then<BR>      If TxtUserName.Text &lt;&gt; "" Then<BR>         Set rs1 = New ADODB.Recordset<BR>         rs1.Open "Select * From User_Property Where User_Name= '" &amp; TxtUserName.Text &amp; "'", cn, adOpenKeyset, adLockPessimistic<BR>         If rs.RecordCount &gt; 0 Then<BR>            If TxtPassWord.Text &lt;&gt; "" Then<BR>               If rs.Fields("User_Name") = TxtUserName.Text And rs.Fields("User_password") = TxtPassWord.Text And rs.Fields("User_Popedom") = Cbop.Text Then<BR>                   FrmMain.Show<BR>                   rs1.Close<BR>                   Unload Me<BR>               Else<BR>                  If rs1.Fields("User_password") &lt;&gt; TxtPassWord.Text Then<BR>                      MsgBox "密碼錯誤,請與管理員聯系!", vbCritical + vbOKOnly, "密碼錯誤"<BR>                      TxtPassWord.SetFocus<BR>                      TxtPassWord.SelStart = 0<BR>                      TxtPassWord.SelLength = Len(TxtPassWord.Text)<BR>                      Exit Sub<BR>                  Else<BR>                     If rs1.Fields("User_Popedom") &lt;&gt; Cbop.Text Then<BR>                        MsgBox "權限錯誤,請與管理員聯系!", vbOKOnly + vbCritical, "權限錯誤"<BR>                        Cbop.SetFocus<BR>                        Exit Sub<BR>                     End If<BR>                  End If<BR>               End If<BR>            Else<BR>               MsgBox "請輸入密碼!", vbOKOnly, "登錄"<BR>               TxtPassWord.SetFocus<BR>               Exit Sub<BR>            End If<BR>         Else<BR>            MsgBox "沒有該用戶,請與管理員聯系!", vbOKCancel + vbExclamation, "登錄"<BR>            Exit Sub<BR>         End If<BR>       End If<BR>   Else<BR>      MsgBox "沒有用戶信息,請確定!", vbExclamation + vbOKCancel, "登錄"<BR>      TxtUserName.SetFocus<BR>      Exit Sub<BR>   End If<BR>   rs.Close<BR>End Sub</P>
<P>Private Sub CmdCancle_Click()<BR>   Unload Me<BR>End Sub</P>
<P>Private Sub Form_Load()<BR>   Move Screen.Width / 2 - Width / 2, Screen.Height / 2 - Height / 2<BR>   Cbop.AddItem "管理員"<BR>   Cbop.AddItem "普通操作員"<BR>   Dim MyConStr As String<BR>   Dim UserCount As Integer<BR>   Dim Mycn As New ADODB.Connection<BR>   Dim Myrs As New ADODB.Recordset<BR>   MyConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" _<BR>               &amp; "Data Source=" &amp; App.Path &amp; "\StuAcc.mdb"<BR>   Mycn.Open MyConStr<BR>   Mycn.CursorLocation = adUseClient<BR>   Myrs.Open "Select * From User_Property", Mycn, adOpenKeyset, adLockPessimistic<BR>   If Myrs.RecordCount &lt;= 0 Then<BR>      UserCount = MsgBox("沒有用戶,請先注冊!", vbYesNo + vbExclamation, "登錄")<BR>      If UserCount = vbYes Then FrmAddUser.Show<BR>      Myrs.Close<BR>      Mycn.Close<BR>      Set Myrs = Nothing<BR>      Set Mycn = Nothing<BR>      Unload Me<BR>   End If<BR>End Sub</P>

马大哈 发表于 2006-2-8 19:49:52

<P>总体上来看(加上我所看过的代码),都是在数据库里查询一下用户名以及密码,对得上就通过,对不上就报错的是吧?</P>

<P>我想等我把查询学会了,应该就差不多了。</P>

<P>过几天朋友的电脑发过来了,就可以安心地学了~~</P>

purana 发表于 2006-2-9 09:06:36

嗯。对啊,马哥。
页: [1]
查看完整版本: 一个简单的系统登录窗口代码