2

我收到一个错误(

你调用的对象是空的

)当我尝试进行数据库操作时,我似乎找不到问题所在,一定是p.ADRESA.Equals(listBox1.SelectedItem.ToString()因为没有它,代码可以工作,但我需要两个条件,请帮忙

 Int16 idValoare =Convert.ToInt16 (comboBoxIDValoare.SelectedItem.ToString());

        if (selectedTabel.Equals("CUSTOMER"))
        {
            if (selectedColoana.Equals("ADRESA"))
            {
                CUSTOMER customer = db.CUSTOMERs.First(p => (p.CUSTOMERID == idValoare) && (p.ADRESA.Equals(listBox1.SelectedItem.ToString())));
                customer.ADRESA = textBoxValoare.Text;
                db.SaveChanges();
            }
}
4

2 回答 2

6

你不能ToString()在 LINQ 方法中使用,但你可以试试这个:

string selectedItem = listBox1.SelectedItem.ToString();
CUSTOMER customer = db.CUSTOMERs.First(p => (p.CUSTOMERID == idValoare) && (p.ADRESA.Equals(selectedItem)));

我希望这对你有帮助。请反馈。

于 2013-03-07T21:41:47.943 回答
2

看起来您listbox1没有选定的项目。在执行任何代码之前,您确实应该添加一个额外的条件来执行该检查。

简单地:

if (listbox1.SelectedItem == null)
{
    //get the hell out of here
}
else
{
   //do your stuff
}
于 2013-03-07T19:47:43.993 回答