如何在C#中实现:DELETE查询检测到关联表存在条目时弹出提示消息?
实现删除提示的解决方案
你的SQL语句已经通过NOT EXISTS确保仅当Document_Type表中无关联数据时才执行删除操作。要添加提示消息,只需通过ExecuteNonQuery()的返回值判断删除是否成功:
con.Open(); int affectedRows = 0; using (var cmd = new SqlCommand("delete from Clinic where C_ID=@C_ID AND NOT EXISTS (SELECT * FROM Document_Type AS o WHERE o.C_ID=@C_ID)", con)) { cmd.Parameters.AddWithValue("@C_ID", klinikUD.Value); affectedRows = cmd.ExecuteNonQuery(); } con.Close(); if (affectedRows == 0) { // 替换为你项目实际使用的提示方式,比如WinForms的MessageBox MessageBox.Show("该条目在其他表中仍存在关联数据,无法删除!"); }
- 核心逻辑:
ExecuteNonQuery()返回SQL执行后受影响的行数,返回0代表无行被删除,即关联表中存在对应数据 - 注意事项:将
MessageBox.Show替换为你项目适配的提示组件(如WPF的MessageBox、ASP.NET前端提示等)
内容的提问来源于stack exchange,提问作者Marco
相关产品推荐
相关产品推荐

