【发布时间】:2013-07-26 12:50:36
【问题描述】:
我正在尝试检查我已连接到我的程序的数据库以获取用户名和密码,我已经进行了查询,但是我将如何根据表检查它。
private void button1_Click(object sender, EventArgs e)
{
Menu m1 = new Menu();
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=UserAccounts.accdb; Persist Security Info=False;";
OleDbCommand cmd = new OleDbCommand("Select * from UserAccounts where Username = " +userBox.Text + " and Password] = " + Password.Text + "");
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
try
{
conn.Open();
this.Hide();
m1.Show();
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}
}
}
【问题讨论】:
-
你能用英语更好地解释你想要做什么吗?
-
我有包含用户名和密码的 Microsoft Access 文件。我正在尝试检查用户在用户名和密码字段中输入的内容,以查看他们是否在数据库中,如果他们有正确的用户名和密码@Avitus,则允许他们访问
-
天哪。另一个超级不安全和密码泄露的家庭滚动系统:-/ 无论如何,
Password]是无效的 SQL 语法。也尝试使用[。然后查找“准备好的语句”.. 然后您实际上会想要查询数据库(运行命令)并对结果做一些事情。 -
在您的 OleDbCommand 对象上使用 OleDbParameters。
-
@LarsTech 我已经走到这一步了,我如何在 if 语句中检查它?试试 { conn.Open(); OleDbCommand cmd = new OleDbCommand(query,conn); cmd.Parameters.AddWithValue("用户名", userBox.Text); cmd.Parameters.AddWithValue("密码", Password.Text); cmd.ExecuteNonQuery(); this.Hide(); m1.显示(); }