日期:2014-05-18  浏览次数:20921 次

如何同时删除几个表里面的记录呢?
我想从当前datagridview里面删除数据,操作成了。但是如果我想同步删除相关的几条记录,如何做呢?

代码如下:

C# code
                        string delete_No = this.dataGridView1.SelectedRows[0].Cells["编号"].Value.ToString();
                        string strConnect = Properties.Settings.Default.PopInfoConnectionString;
                        SqlConnection conConnection = new SqlConnection(strConnect);
                        conConnection.Open();
                        string cmd = "delete from [aaa] where id=" + delete_No + "";
                        SqlCommand com = new SqlCommand(cmd, conConnection);
                         {
                            com.ExecuteNonQuery();
                            this.dataGridView1.Rows.RemoveAt(this.dataGridView1.SelectedRows[0].Index);
                            MessageBox.Show("记录已成功删除", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         }



这只是删除了一个表aaa的记录。

现在设计的是表bbb,表ccc都有字段del_id等于表aaa的字段ID,当删除表aaa中id=1的记录的时候,如何同步删除表bbb/ccc中字段del_id=1的记录?

------解决方案--------------------
存储过程或者触发器
------解决方案--------------------
不存在真正意义上的“同时”,要确保操作的原子性,使用事务吧。
------解决方案--------------------
使用存储过程··
------解决方案--------------------
存储过程 把这些删除全部裹在一起 
或者建立触发器。
------解决方案--------------------
string cmd = "delete from [aaa] where id=" + delete_No + "; delete from [bbbb] where condition";
------解决方案--------------------
事务就可以了吧?不成功就回滚
------解决方案--------------------
探讨
string cmd = "delete from [aaa] where id=" + delete_No + "; delete from [bbbb] where condition";

------解决方案--------------------
改下sql 语句不久行了,加上另外一条删除语句