c# - 如何检查表格是否包含所选数字?
问题描述
我的数据库中有 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 是列表框的名称。
解决方案
在尝试删除之前,我会查询您用于存储订购项目的表,以便您可以显示您想要的错误消息。我过去使用的方法如下所示:
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();
}
推荐阅读
- javascript - 将一串赞成计数转换为 JavaScript 中的数字数组的函数
- java - 将kafka-consumer设置为consumer-group中的容灾消费者?
- java - 我应该如何以及通过使用哪个定位器来自动化任何站点中左侧导航的主要和子元素?
- typescript - TypeScript:使用字符串文字时的类型推断
- node.js - nodeJS mongoose 如何制作一个特殊的 get crud
- javascript - 具有相同日期格式的javascript日期
- spring - 如何使用 LDAP 和基于角色的数据库授予权限来实现 Spring Security?
- python - ndarrays 的滚动窗口
- r - 为 R 中的缺失值填充零
- ruby-on-rails - 如何使用rails遍历引导卡