欢迎来到天天文库
浏览记录
ID:38667141
大小:233.50 KB
页数:6页
时间:2019-06-17
《对于有引用约束的数据实现增、删、改、查》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、对于有引用约束的数据实现增、删、改、查按学号级联删除操作1、以w_student窗体为例,实现按学号级联删除。首先,打开w_student窗体,鼠标双击一下“删除”按钮。VS2010将打开编码区,在btndelete_Click函数体内,将代码改成下列代码。如下图所示。然后Ctrl+S保存。//获取学号idStringid=txtid.Text.Trim();//拼凑sql语句。//首先,删除enroll表中的引用,然后再删除student表中的记录。Stringsql1="deletefromenrollwheresid='"+id+"'";Stringsq
2、l2="deletefromstudentwhereid='"+id+"'";//数据库操作类Databasedb=newDatabase();//两条语句作为一个事务执行。sql1与sql2的顺序不能反。db.TranExecuteSql(newString[]{sql1,sql2});//更新窗体中DataGridView的显示数据//注意:改行语句应与上面的第23行一致this.studentTableAdapter.Fill(this.stucourDataSet.student);2、在ServerExplorer视图中,右击enroll表,选择“S
3、howTableData”选项。在enroll表中我们可以看到第一行数据(下图鼠标处,蓝色标记行),该数据引用了student表中学号:2002144055,姓名:陈小胖的这条记录。在下一步中,我将在w_student窗体删除该记录。3、启动程序调试。点击“StartDebugging”按钮。(或者VS2010菜单栏DebugàStartDebugging)在Form1窗体的菜单栏中,点击“数据输入”à“学生数据”,打开w_student窗体。在DataGridView中点击“学号:2002144055,姓名:陈小胖”这条记录(如下图鼠标处)。然后,点击“删除
4、”按钮。关闭w_student窗体,重新点击“数据输入”à“学生数据”,打开w_student窗体。将会在DataGridView中看“学号:2002144055,姓名:陈小胖”这条记录已经被删除。按学号级联更新操作以w_student窗体为例,实现学号级联更新操作。首先,打开w_student窗体,鼠标双击一下“修改”按钮。VS2010将打开编码区。找到dataGridView1_SelectionChanged函数,在函数外定义学号id属性。如下图(第53行代码)。在dataGridView1_SelectionChanged函数体内类加入一行代码,如下图
5、鼠标处(第66行代码)。2、在btnupdate_Click函数体内,将代码改成下列代码。如下图所示。然后Ctrl+S保存。//获取学号idStringid=txtid.Text.Trim();Stringname=txtname.Text.Trim();//以修改后的学号id为新纪录,插入到数据库中。Stringsql1="insertintostudentvalues('";sql1+=txtid.Text.Trim()+"','";sql1+=txtname.Text.Trim()+"','";sql1+=cmbsex.SelectedItem.ToSt
6、ring()+"','";sql1+=mtxtbirth.Text.Trim()+"','";sql1+=txtfield.Text.Trim()+"','";sql1+=txtclass.Text.Trim()+"','";sql1+=cmbcollege.SelectedItem.ToString()+"','";sql1+=txtpersonalid.Text.Trim()+"','";sql1+=txtfrom.Text.Trim()+"','";sql1+=txtwhere.Text.Trim()+"','";sql1+=txtphone.Text.
7、Trim()+"')";//将enroll表中修改前的学号id的记录,将其学号id改为修改后的学号id。Stringsql2="updateenrollsetsid='"+id+"',sname='"+name+"'wheresid='"+this.id+"'";//删除student表中修改前的学号id的记录。Stringsql3="deletefromstudentwhereid='"+this.id+"'";//数据库操作类Databasedb=newDatabase();//三条语句作为一个事务执行。sql1,sql2与sql3的顺序不能反。db.Tr
8、anExecuteSql(newStr
此文档下载收益归作者所有