如何检查表是否包含所选数字?



我的数据库中有 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();
}

预留是订单表的名称。

chalet 是(在本例中(属性表的名称。 其作用与客户表相同。

lbHuis 是列表框的名称。

我会在尝试删除之前查询您用于存储订购项目的表,以便您可以显示您想要的错误消息。我过去使用过的方法如下所示:

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();
}

最新更新