可能的非预期参考比较以获得值比较,将右侧转换为字符串

时间:2015-04-20 01:36:26

标签: c# database

问题:程序运行,
接下来,该程序要求我登录,我这样做错误!

  

“System.Data.OleDb.OleDbException”类型的未处理异常   发生在da.Fill(dt)的System.Data.dll中;可能的区域   非预期的参考比较,以获得价值比较   如果(UserText.Text == dt.Rows[i]["CustID"] && PassText.Text == dt.Rows[i]["CustPassword"])

,请在右侧串联@

数据库:

enter image description here

我正在尝试使用登录表单来使用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");
        }
    }
}

1 个答案:

答案 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且失败。