c# - 连接到 MS Access 数据库 2000 - 2003 格式的 Visual Studio C# Windows 窗体中的登录功能。研究并尝试修复无济于事
问题描述
当我尝试运行应用程序并插入存储的用户名和密码或随机字符时,会弹出错误而不是预期的验证消息。下面的代码:
private void btnLogin_Click(object sender, EventArgs e)
{
//Connection Login form to SQL Database login table to get username and password
SqlConnection sqlcon = new SqlConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\mbewe\Documents\Visual Studio 2019\VS Projects\ZRA Transport Requisition\LoginDB.mdb");
string query = "Select * from Logininfo where Username = '" + tbUsername.Text.Trim() + "'and Password= '" + tbPassword.Text.Trim() + "'";
SqlDataAdapter sda = new SqlDataAdapter(query, sqlcon);
DataTable dtbl = new DataTable();
sda.Fill(dtbl);
if (dtbl.Rows.Count == 1)
{
//Setting which form to open once username and password have been confirmed
frmRD objFrmRD = new frmRD();
this.Hide();
objFrmRD.Show();
}
else
{
//Setting message to be shown when username and password do not exist in the database
MessageBox.Show("Check Your Username and Password");
}
}
解决方案
正如其他人所说,您需要使用 OleDbConnection。
我修改了你提供的代码,可以成功验证用户名和密码。
private void button1_Click(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\School.mdb");
con.Open();
string query = "Select * from Logininfo where Username = '" + tbUsername.Text.Trim() + "'and Password= '" + tbPassword.Text.Trim() + "'";
OleDbDataAdapter sda = new OleDbDataAdapter(query, con);
DataTable dtbl = new DataTable();
sda.Fill(dtbl);
if (dtbl.Rows.Count == 1)
{
MessageBox.Show("success");
//Setting which form to open once username and password have been confirmed
Form2 form = new Form2();
this.Hide();
form.Show();
}
else
{
//Setting message to be shown when username and password do not exist in the database
MessageBox.Show("Check Your Username and Password");
}
}
测试结果:
推荐阅读
- c# - Xamarin 使用 razor 模板将 html 转换为 pdf
- mysql - 如何获取 MYSQL 数据库中表和视图的 from 子句中使用的所有表和视图的列表?
- asp.net-core - ASP.NET Core Paypal 实现
- forms - React Forms 更新嵌套状态对象 - 从输入重构状态对象
- jquery - Jquery jcrop 裁剪器框架未从底部正确对齐
- ios - UIImageView + UIImage vs CALayer + 内容效率
- python-3.x - Python3 & WSGI 模块错误
- mysql - SQL查询在多列中查找具有相同值的行
- python-2.7 - 无法在 Python 中的字符串列表上运行 type(x)
- c++ - 当我输入一个非整数值时,我的二次方程代码终止,我怎样才能让它正确循环?