chatGPT答: |
8v6.cn |
以下是VB.NET用ACCESS数据库写一个用户登录程序的示例代码,并附有注释:
'引入必要的命名空间
Imports System.Data.OleDb
Public Class LoginForm
'定义连接字符串,指定ACCESS数据库文件路径和密码
Dim connString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\user\Desktop\test.accdb;Jet OLEDB:Database Password=password"
Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
'获取用户输入的用户名和密码
Dim username As String = txtUsername.Text.Trim()
Dim password As String = txtPassword.Text.Trim()
'创建OleDbConnection对象并打开连接
Using conn As New OleDbConnection(connString)
Try
conn.Open()
'创建OleDbCommand对象并设置SQL语句及参数值,查询是否存在该用户名和密码的记录
Dim cmdText As String = "SELECT COUNT(*) FROM users WHERE username=@username AND password=@password"
Using cmd As New OleDbCommand(cmdText, conn)
cmd.Parameters.AddWithValue("@username", username)
cmd.Parameters.AddWithValue("@password", password)
'执行查询并返回结果集中第一行第一列的值(即记录数)
Dim count = CInt(cmd.ExecuteScalar())
If count > 0 Then '如果存在该记录,则登录成功,跳转到主界面Form1
Me.Hide()
Form1.Show()
Else '否则提示用户名或密码错误
MessageBox.Show("Invalid username or password!")
txtPassword.Clear() '清空密码框
txtPassword.Focus() '将焦点设置到密码框上
End If
End Using
Catch ex As Exception '捕获异常并显示错误信息
MessageBox.Show(ex.Message)
Finally '无论是否发生异常都要关闭连接
conn.Close()
End Try
End Using
End Sub
End Class
|