我的数据库中有2个表。在我的应用程序中,我可以选择一条记录(客户)并将其链接到订单。我也可以选择删除客户,但是当我删除带有订单链接的客户时,它会崩溃。如何检查订单表中列表框中所选项目的ID是否存在?我希望它显示错误消息框。
到目前为止,这是我的代码:
reservering deResv = new reservering();
var item = (chalet)lbHuis.SelectedItem;
if (deResv.HuisId == item.Id)
{
MessageBox.Show("Verwijder eerst de reserveringen van dit huis.");
}
else
{
var delItem = from chalet in db.chalets
where chalet.Id == item.Id
select chalet;
db.chalets.DeleteOnSubmit(item);
db.SubmitChanges();
}
reservering是订单表的名称。
chalet是(在本例中)属性表的名称。这与客户表的行为相同。
lbHuis是列表框的名称。
答案 0 :(得分:0)
在尝试删除之前,我会查询您存储订购商品的表格,以便显示您想要的错误消息。我过去使用过的方法如下所示:
int foundID = -1;
using (SqlConnection conn = new SqlConnection("<your connection string>"))
{
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT id FROM reserving WHERE id=@orderID;", conn);
cmd.Parameters.AddWithValue("@orderID", item.Id);
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader.Read())
{
foundID = reader["id"];
}
}
conn.Close();
}