我有一个登录表单,用户和管理员可以登录。我创建了 2 个数据库,其中一个专门供管理员登录和更改管理员密码。然后有一个供用户使用。
admin windows 窗体界面可以创建用户和密码,并为每个用户分配一个数字。
数据库有这些列
标识符
用户名
用户密码
用户定时器
当用户登录时,他们会被带到非常基本的用户界面,它有 4 个文本框和一个按钮。我想要它,以便当他们按下按钮时,4 个文本框会填充有自己的数据。我不希望他们能够在数据库中导航。或查看其他人的信息。我目前拥有的代码搜索数据库并显示第一行。谁能告诉我如何让它搜索用户登录的内容。因此,在下面的示例中,用户一旦通过验证将被带到用户页面。在那里,他们将被告知单击一个按钮,在我的示例“Button5”中,4 个文本框将被填充数据。我希望它有自己的数据,但目前它是我数据库中的第一行数据。
Private Sub Button5_Click_1(sender As Object, e As EventArgs) Handles Button5.Click
Dim Builder As New OleDb.OleDbConnectionStringBuilder With
{
.Provider = "Microsoft.ACE.OLEDB.12.0",
.DataSource = IO.Path.Combine(Application.StartupPath, "C:\Users\Nige\Documents\Visual Studio 2012\Projects\MS_Access_SimplePassword\bin\Debug\Database1.mdb"),
.PersistSecurityInfo = True
}
LoginForm.txtUserName.Text = LoginForm.txtUserName.Text
If LoginForm.txtUserName.Text <> "" Then
End If
'do what you want to do
lblName.Text = LoginForm.txtUserName.Text
If lblName.Text = LoginForm.txtUserName.Text Then
Builder.Add("Jet OLEDB:Database Password", "password")
Using con As New OleDb.OleDbConnection With {.ConnectionString = Builder.ConnectionString}
Using cmd As New OleDb.OleDbCommand With
{
.Connection = con,
.CommandText =
<SQL>
SELECT TOP 1
Identifier,
UserName,
UserPassword,
UserTimer
FROM tblContacts
</SQL>.Value
}
con.Open()
Dim Reader As OleDb.OleDbDataReader = cmd.ExecuteReader
If Reader.HasRows Then
Reader.Read()
TextBox1.Text = Reader.GetInt32(0).ToString
TextBox2.Text = Reader.GetString(1)
TextBox3.Text = Reader.GetString(2)
TextBox4.Text = Reader.GetString(3)
End If
End Using
End Using
End If
End Sub
结束类
感谢您阅读我知道这似乎是一个很大的问题,但即使有人可以将我的鼻子指向正确的方向,我也很乐意阅读更多内容。我不明白 WHERE 子句如何帮助我查看谁登录了数据库。我可以使用 WHERE 子句来更具体地 IE 搜索特定的行或名称。我知道该怎么做。我只是不知道要运行什么查询来检查哪些用户刚刚登录到系统。至于 2 个数据库,我目前只是在玩多个数据库。谢谢