C# WindowsForm 员工管理系统二【删除】
2015-09-24 17:04
471 查看
上一章已经完成了用户登录,那么接下来我们希望看到所有员工的信息,以便达到管理员工的目的。
在数据库”Staff“中新建StaffInfo表,如图:
因为StaffInfo表中与StaffAccount表中的ID对应,所有两表的ID存在主键与外键的关系,这里我将StaffInfo.ID设置为主键 StaffAccount.ID设置为外键。
打开Visual Studio中项目中新建一个Windows窗体(右击项目名->添加->新建项->Windows窗体)命名为ManagerForm
在工具箱中找到DataGridView控件,拖入ManagerForm窗体
单击DataGridView控件,看见右上角会出现黑色三角形。
单击黑色三角形->选择数据源->StaffInfo
在登录窗体代码中增加显示ManagerForm窗体 代
运行后可看到StaffInfo中录入的数据
增加一个“删除记录”按钮,双击添加单击事件
因为我前面设置的是StaffInfo.ID为主键,StaffAccount.ID为外键,所有这里我们删除的是StaffAccount表中的记录
再为StaffAccount表增加一个触发器
这样就可以删除外键之后再删除主键。
在数据库”Staff“中新建StaffInfo表,如图:
因为StaffInfo表中与StaffAccount表中的ID对应,所有两表的ID存在主键与外键的关系,这里我将StaffInfo.ID设置为主键 StaffAccount.ID设置为外键。
打开Visual Studio中项目中新建一个Windows窗体(右击项目名->添加->新建项->Windows窗体)命名为ManagerForm
在工具箱中找到DataGridView控件,拖入ManagerForm窗体
单击DataGridView控件,看见右上角会出现黑色三角形。
单击黑色三角形->选择数据源->StaffInfo
在登录窗体代码中增加显示ManagerForm窗体 代
MessageBox.Show("系统登录成功,正在跳转主页面..."); ManagerForm managerForm = new ManagerForm(); managerForm.Show(); this.Hide();
运行后可看到StaffInfo中录入的数据
增加一个“删除记录”按钮,双击添加单击事件
private void btnDelete_Click(object sender, EventArgs e) { string sql = "delete from StaffAccount where 1=1"; if (dgvManager.CurrentRow.Selected) { sql = sql + "and ID=" + Convert.ToInt32(dgvManager.CurrentRow.Cells[0].Value.ToString()); } int n = 0; string connStr = ConfigurationManager.ConnectionStrings["WindowsFormsApplication6.Properties.Settings.staffConnectionString"].ConnectionString; SqlConnection conn = new SqlConnection(connStr); SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); n = cmd.ExecuteNonQuery(); if (n == 0) { MessageBox.Show("不存在的ID!"); return; } else if (n > 0) { MessageBox.Show("删除成功!"); } conn.Close(); this.staffInfoTableAdapter.Fill(this.staffDataSet.StaffInfo);//重新加载数据 this.Refresh(); }
因为我前面设置的是StaffInfo.ID为主键,StaffAccount.ID为外键,所有这里我们删除的是StaffAccount表中的记录
再为StaffAccount表增加一个触发器
ALTER trigger [dbo].[trigger_deleteStaff1] on [dbo].[StaffAccount] after delete AS begin delete StaffInfo where ID in( select ID from deleted) end
这样就可以删除外键之后再删除主键。