我一直收到错误
多部分标识符" System.Data.DataRowView"无法找到。
我有这些代码
private void lbProduct_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
dtbProduct = dc.getDataTable(string.Format("SELECT P.product_id, P.product_name, P.product_price, T.[type_name], T.[type_fee], T.[type_id] FROM Product P INNER JOIN [Product Type] T ON P.[type_id] = T.[type_id] WHERE product_name = {0}", lbProduct.SelectedItem.ToString()));
for (int i = 0; i < dtbProduct.Rows.Count; i++)
{
//P.TypeName = dtbProduct.Rows[i]["type_name"].ToString();
txtPrice.Text = dtbProduct.Rows[i]["product_price"].ToString();
txtProductName.Text = dtbProduct.Rows[i]["product_name"].ToString();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
...
public DataTable getDataTable(string query)
{
con.Open();
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(query, con);
sda.Fill(dt);
con.Close();
return dt;
}
答案 0 :(得分:0)
你的dtbProduct.Rows为null,当你尝试迭代它时它会爆炸...没有对空对象的计数。在任何情况下,我都相当确定至少有一个问题是您应该使用bProduct。 SelectedValue 而不是bProduct。 SelectedItem 。