在窗體中加入兩個txt框,兩個按鈕。界面設計如上圖所示。
數據庫中設計access表,adminuser,表中創建username、passwrod兩個文本字段。access文件名稱爲my.mdb.其源代碼如下:
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.OleDb
Public Class LoginFrm
Inherits System.Windows.Forms.Form
Public ADOcmd As OleDbDataAdapter
Public ds As DataSet = New DataSet
Public mytable As Data.DataTable
Public myrow As Data.DataRow
Public rownumber As Integer
Public searchsql As String
Public cmd As OleDbCommandBuilder
Public Function ExecuteSQL(ByVal SQL As String, ByVal table As String)
ADOcmd = New OleDbDataAdapter(SQL, "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Application.StartupPath() & "\my.mdb")
ADOcmd.Fill(ds, table)
mytable = ds.Tables.Item(0)
rownumber = 0
myrow = mytable.Rows.Item(rownumber)
End Function
Inherits System.Windows.Forms.Form
Public ADOcmd As OleDbDataAdapter
Public ds As DataSet = New DataSet
Public mytable As Data.DataTable
Public myrow As Data.DataRow
Public rownumber As Integer
Public searchsql As String
Public cmd As OleDbCommandBuilder
Public Function ExecuteSQL(ByVal SQL As String, ByVal table As String)
ADOcmd = New OleDbDataAdapter(SQL, "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Application.StartupPath() & "\my.mdb")
ADOcmd.Fill(ds, table)
mytable = ds.Tables.Item(0)
rownumber = 0
myrow = mytable.Rows.Item(rownumber)
End Function
#Region " Windows 窗體設計器生成的代碼 "
Public Sub New()
MyBase.New()
MyBase.New()
'該調用是 Windows 窗體設計器所必需的。
InitializeComponent()
InitializeComponent()
'在 InitializeComponent() 調用之後添加任何初始化
End Sub
'窗體重寫 dispose 以清理組件列表。
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Windows 窗體設計器所必需的
Private components As System.ComponentModel.IContainer
Private components As System.ComponentModel.IContainer
'注意: 以下過程是 Windows 窗體設計器所必需的
'可以使用 Windows 窗體設計器修改此過程。
'不要使用代碼編輯器修改它。
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents btn_ok As System.Windows.Forms.Button
Friend WithEvents btn_cancel As System.Windows.Forms.Button
Friend WithEvents Txt_Username As System.Windows.Forms.TextBox
Friend WithEvents Txt_pwd As System.Windows.Forms.TextBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.Txt_Username = New System.Windows.Forms.TextBox
Me.Txt_pwd = New System.Windows.Forms.TextBox
Me.btn_ok = New System.Windows.Forms.Button
Me.btn_cancel = New System.Windows.Forms.Button
Me.SuspendLayout()
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(48, 32)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(54, 17)
Me.Label1.TabIndex = 0
Me.Label1.Text = "用戶名:"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(48, 64)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(54, 17)
Me.Label2.TabIndex = 1
Me.Label2.Text = "密 碼:"
'
'Txt_Username
'
Me.Txt_Username.Location = New System.Drawing.Point(112, 32)
Me.Txt_Username.Name = "Txt_Username"
Me.Txt_Username.Size = New System.Drawing.Size(96, 21)
Me.Txt_Username.TabIndex = 2
Me.Txt_Username.Text = ""
'
'Txt_pwd
'
Me.Txt_pwd.Location = New System.Drawing.Point(112, 64)
Me.Txt_pwd.Name = "Txt_pwd"
Me.Txt_pwd.PasswordChar = Microsoft.VisualBasic.ChrW(42)
Me.Txt_pwd.Size = New System.Drawing.Size(96, 21)
Me.Txt_pwd.TabIndex = 3
Me.Txt_pwd.Text = ""
'
'btn_ok
'
Me.btn_ok.Location = New System.Drawing.Point(64, 104)
Me.btn_ok.Name = "btn_ok"
Me.btn_ok.Size = New System.Drawing.Size(48, 24)
Me.btn_ok.TabIndex = 4
Me.btn_ok.Text = "登錄"
'
'btn_cancel
'
Me.btn_cancel.Location = New System.Drawing.Point(160, 104)
Me.btn_cancel.Name = "btn_cancel"
Me.btn_cancel.Size = New System.Drawing.Size(48, 24)
Me.btn_cancel.TabIndex = 5
Me.btn_cancel.Text = "關閉"
'
'LoginFrm
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(296, 158)
Me.Controls.Add(Me.btn_cancel)
Me.Controls.Add(Me.btn_ok)
Me.Controls.Add(Me.Txt_pwd)
Me.Controls.Add(Me.Txt_Username)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.MaximizeBox = False
Me.MinimizeBox = False
Me.Name = "LoginFrm"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "登錄"
Me.ResumeLayout(False)
'可以使用 Windows 窗體設計器修改此過程。
'不要使用代碼編輯器修改它。
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents btn_ok As System.Windows.Forms.Button
Friend WithEvents btn_cancel As System.Windows.Forms.Button
Friend WithEvents Txt_Username As System.Windows.Forms.TextBox
Friend WithEvents Txt_pwd As System.Windows.Forms.TextBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.Txt_Username = New System.Windows.Forms.TextBox
Me.Txt_pwd = New System.Windows.Forms.TextBox
Me.btn_ok = New System.Windows.Forms.Button
Me.btn_cancel = New System.Windows.Forms.Button
Me.SuspendLayout()
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(48, 32)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(54, 17)
Me.Label1.TabIndex = 0
Me.Label1.Text = "用戶名:"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(48, 64)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(54, 17)
Me.Label2.TabIndex = 1
Me.Label2.Text = "密 碼:"
'
'Txt_Username
'
Me.Txt_Username.Location = New System.Drawing.Point(112, 32)
Me.Txt_Username.Name = "Txt_Username"
Me.Txt_Username.Size = New System.Drawing.Size(96, 21)
Me.Txt_Username.TabIndex = 2
Me.Txt_Username.Text = ""
'
'Txt_pwd
'
Me.Txt_pwd.Location = New System.Drawing.Point(112, 64)
Me.Txt_pwd.Name = "Txt_pwd"
Me.Txt_pwd.PasswordChar = Microsoft.VisualBasic.ChrW(42)
Me.Txt_pwd.Size = New System.Drawing.Size(96, 21)
Me.Txt_pwd.TabIndex = 3
Me.Txt_pwd.Text = ""
'
'btn_ok
'
Me.btn_ok.Location = New System.Drawing.Point(64, 104)
Me.btn_ok.Name = "btn_ok"
Me.btn_ok.Size = New System.Drawing.Size(48, 24)
Me.btn_ok.TabIndex = 4
Me.btn_ok.Text = "登錄"
'
'btn_cancel
'
Me.btn_cancel.Location = New System.Drawing.Point(160, 104)
Me.btn_cancel.Name = "btn_cancel"
Me.btn_cancel.Size = New System.Drawing.Size(48, 24)
Me.btn_cancel.TabIndex = 5
Me.btn_cancel.Text = "關閉"
'
'LoginFrm
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(296, 158)
Me.Controls.Add(Me.btn_cancel)
Me.Controls.Add(Me.btn_ok)
Me.Controls.Add(Me.Txt_pwd)
Me.Controls.Add(Me.Txt_Username)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.MaximizeBox = False
Me.MinimizeBox = False
Me.Name = "LoginFrm"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "登錄"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub btn_cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_cancel.Click
Me.Close()
End Sub
Me.Close()
End Sub
Private Sub btn_ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_ok.Click
'定義
Dim tablename As String
tablename = "adminuser"
Dim SearchSQL As String
SearchSQL = "select username,password from adminuser where username='" & Txt_Username.Text & "'"
Try
ExecuteSQL(SearchSQL, tablename)
If myrow.Item(1) = Txt_pwd.Text Then
MsgBox("成功登陸")
Dim FormMain As New FormMain
FormMain.Show()
Me.Hide()
Else
MsgBox("密碼不正確!", vbOKOnly + vbExclamation, "警告")
Exit Sub
End If
Catch
MsgBox("無此用戶!", vbOKOnly + vbExclamation, "警告")
End Try
'定義
Dim tablename As String
tablename = "adminuser"
Dim SearchSQL As String
SearchSQL = "select username,password from adminuser where username='" & Txt_Username.Text & "'"
Try
ExecuteSQL(SearchSQL, tablename)
If myrow.Item(1) = Txt_pwd.Text Then
MsgBox("成功登陸")
Dim FormMain As New FormMain
FormMain.Show()
Me.Hide()
Else
MsgBox("密碼不正確!", vbOKOnly + vbExclamation, "警告")
Exit Sub
End If
Catch
MsgBox("無此用戶!", vbOKOnly + vbExclamation, "警告")
End Try
End Sub
Private Sub LoginFrm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Txt_pwd_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Txt_pwd.KeyDown
If e.KeyCode = Keys.Enter Then
btn_ok.Visible = True
btn_ok.Focus()
End If
End Sub
btn_ok.Visible = True
btn_ok.Focus()
End If
End Sub
Private Sub Txt_Username_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Txt_Username.KeyDown
If e.KeyCode = Keys.Enter Then
Txt_pwd.Focus()
End If
End Sub
End Class
If e.KeyCode = Keys.Enter Then
Txt_pwd.Focus()
End If
End Sub
End Class