【发布时间】:2015-04-19 23:13:03
【问题描述】:
System.Data.dll 中出现“System.Data.OleDb.OleDbException”类型的未处理异常
附加信息:无法使用'';文件已在使用 这是错误指向的地方:
da.Fill(dt);
数据库位于我电脑上的C:\ChattBankMDB.mdb。
数据库:http://puu.sh/hjQj0/d86ede4c00.png
当我按下按钮 1 时,我希望表单跟进并登录客户数据库,否则 messagebox.show 会说登录失败。
表单上的按钮:
公共部分类 CustLogin : 表单 {
OleDbConnection db = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\ChattBankMDB.mdb");
OleDbDataAdapter da = new OleDbDataAdapter();
DataTable dt = new DataTable();
public CustLogin()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
da = new OleDbDataAdapter("Select CustID, CustPassword From Customers", db);
da.Fill(dt);
for (int i = 0; i < dt.Rows.Count; i++)
{
if (UserText.Text == dt.Rows[i]["CustID"] && PassText.Text == dt.Rows[i]["CustPassword"])
{
WelcomeCust f = new WelcomeCust();
this.Hide();
f.Show();
}
else
{
MessageBox.Show("FAILURE TRY AGAIN");
}
}
}
【问题讨论】:
-
你应该发布异常的整个堆栈跟踪
-
不要以纯文本形式存储密码。
-
你有一个 SQL 注入漏洞。
-
@RodrigoJuarez:这根本没有帮助。
-
MDB 不是 SQL Server。你需要 OleDb。