问题:程序运行,
接下来,该程序要求我登录,我这样做错误!
“System.Data.OleDb.OleDbException”类型的未处理异常 发生在da.Fill(dt)的System.Data.dll中;可能的区域 非预期的参考比较,以获得价值比较 如果
,请在右侧串联@(UserText.Text == dt.Rows[i]["CustID"] && PassText.Text == dt.Rows[i]["CustPassword"])
数据库:
我正在尝试使用登录表单来使用Microsoft Access数据库。
if (UserText.Text == dt.Rows[i]["CustID"] && PassText.Text == dt.Rows[i]["CustPassword"])
上面的代码是我遇到问题的区域。
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");
}
}
}
答案 0 :(得分:0)
试试这个
if (UserText.Text.ToString() == dt.Rows[i]["CustID"].ToString() &&
PassText.Text.ToString() == dt.Rows[i]["CustPassword"].ToString())
或者
if ((string)UserText.Text == (string)dt.Rows[i]["CustID"] &&
(string)PassText.Text == (string)dt.Rows[i]["CustPassword"])
和重新构建您的项目。该错误是因为UserText.Text
的编译时类型为object
且失败。