C#中数据库的更新和删除记录的两种实现方式
2013-01-21 17:02
507 查看
框图在上一篇文章中给出了,删除、更新和插入一样,也都有两种方式,一种是在数据源的编辑器中设定相应的方法来实现,另一种是自己写代码完成。
下面先给出更新的代码:
test_dbDataSet.courseRow cro;
test_dbDataSet.facultyRow fro;
if ( (course.Text == "") || (facultyid.Text == "") || (this.name.Text == "") || (this.num.Text == ""))
MessageBox.Show("有一项或者多项没有填写内容,请填写完毕后再提交!");
else
{
///第一种方式 这里更新都没有更新表的主键,如果要更新主键最好方法就是找到该记录,删除它,然后在插入一个新的记录。
if (cbupdate.Text == "tableAdater.update")
{
int f = facultyTableAdapter.Updatefaculty(this.name.Text, this.num.Text, this.facultyid.Text);
int c = courseTableAdapter.Updatecourse(this.course.Text, this.facultyid.Text);
if ((f > 0) && (c > 0))
MessageBox.Show("更新成功!");
else
MessageBox.Show("更新失败!");
}
///第二种方式
else
{
string cid;
fro = test_dbDataSet.faculty.FindByfaculty_id(facultyid.Text);
fro = updatefacultydata(ref fro);
this.Validate();
facultyBindingSource1.EndEdit();
int f = facultyTableAdapter.Update(test_dbDataSet.faculty);
cid = courseTableAdapter.getcourseid_fid(facultyid.Text);
cro = test_dbDataSet.course.FindBycourse_id(cid);
cro = updatecoursedata(ref cro);
///this.Validate();
///facultyBindingSource1.EndEdit();
/// courseBindingSource1.EndEdit();
int c = courseTableAdapter.Update(test_dbDataSet.course);
if((f>0)&&(c>0))
MessageBox.Show("第二种方式更新成功!");
else
MessageBox.Show("第二种方式更新失败!");
}
删除的代码:
test_dbDataSet.courseRow crow;
test_dbDataSet.facultyRow frow;
///首先会弹出对话框询问是否要删除数据。
if (MessageBox.Show("您确定要删除数据吗?", "delete", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
{
///第一种方式
if (cbway.Text == "tableAdater.delete")
{
string str;
str = facultyTableAdapter.getid(cbdelete.Text);
int k = facultyTableAdapter.Deletefaculty(str);
int j = courseTableAdapter.Deletecourse(str);
if ((k > 0) && (j > 0))
MessageBox.Show("删除成功!");
else
MessageBox.Show("删除失败!");
}
/// 第二种方式:
else
{
string id = facultyTableAdapter.getid(cbdelete.Text);
frow = test_dbDataSet.faculty.FindByfaculty_id(id);
frow.Delete();
int f = facultyTableAdapter.Update(test_dbDataSet.faculty); ///这个函数返回的就删除的记录个数
string cid = courseTableAdapter.getcourseid_fid(id);
crow = test_dbDataSet.course.FindBycourse_id(cid);
crow.Delete();
int c = courseTableAdapter.Update(test_dbDataSet.course);
if ((c > 0) && (f > 0))
MessageBox.Show("第二种方式删除成功!");
else
MessageBox.Show("第二种方式删除失败!");
}
下面先给出更新的代码:
test_dbDataSet.courseRow cro;
test_dbDataSet.facultyRow fro;
if ( (course.Text == "") || (facultyid.Text == "") || (this.name.Text == "") || (this.num.Text == ""))
MessageBox.Show("有一项或者多项没有填写内容,请填写完毕后再提交!");
else
{
///第一种方式 这里更新都没有更新表的主键,如果要更新主键最好方法就是找到该记录,删除它,然后在插入一个新的记录。
if (cbupdate.Text == "tableAdater.update")
{
int f = facultyTableAdapter.Updatefaculty(this.name.Text, this.num.Text, this.facultyid.Text);
int c = courseTableAdapter.Updatecourse(this.course.Text, this.facultyid.Text);
if ((f > 0) && (c > 0))
MessageBox.Show("更新成功!");
else
MessageBox.Show("更新失败!");
}
///第二种方式
else
{
string cid;
fro = test_dbDataSet.faculty.FindByfaculty_id(facultyid.Text);
fro = updatefacultydata(ref fro);
this.Validate();
facultyBindingSource1.EndEdit();
int f = facultyTableAdapter.Update(test_dbDataSet.faculty);
cid = courseTableAdapter.getcourseid_fid(facultyid.Text);
cro = test_dbDataSet.course.FindBycourse_id(cid);
cro = updatecoursedata(ref cro);
///this.Validate();
///facultyBindingSource1.EndEdit();
/// courseBindingSource1.EndEdit();
int c = courseTableAdapter.Update(test_dbDataSet.course);
if((f>0)&&(c>0))
MessageBox.Show("第二种方式更新成功!");
else
MessageBox.Show("第二种方式更新失败!");
}
删除的代码:
test_dbDataSet.courseRow crow;
test_dbDataSet.facultyRow frow;
///首先会弹出对话框询问是否要删除数据。
if (MessageBox.Show("您确定要删除数据吗?", "delete", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
{
///第一种方式
if (cbway.Text == "tableAdater.delete")
{
string str;
str = facultyTableAdapter.getid(cbdelete.Text);
int k = facultyTableAdapter.Deletefaculty(str);
int j = courseTableAdapter.Deletecourse(str);
if ((k > 0) && (j > 0))
MessageBox.Show("删除成功!");
else
MessageBox.Show("删除失败!");
}
/// 第二种方式:
else
{
string id = facultyTableAdapter.getid(cbdelete.Text);
frow = test_dbDataSet.faculty.FindByfaculty_id(id);
frow.Delete();
int f = facultyTableAdapter.Update(test_dbDataSet.faculty); ///这个函数返回的就删除的记录个数
string cid = courseTableAdapter.getcourseid_fid(id);
crow = test_dbDataSet.course.FindBycourse_id(cid);
crow.Delete();
int c = courseTableAdapter.Update(test_dbDataSet.course);
if ((c > 0) && (f > 0))
MessageBox.Show("第二种方式删除成功!");
else
MessageBox.Show("第二种方式删除失败!");
}
相关文章推荐
- C#中数据库的更新和删除记录的两种实现方式
- C#数据库插入的两种实现方式
- 如何在Struts 数据库应用程序中实现记录的删除、更新及链接
- 如何在Struts 数据库应用程序中实现记录的删除、更新及链接(续)
- 数据库记录删除方式
- C# 的DataGridView 操作数据库 插入,更新,删除
- c#填充 删除 更新数据库
- c#实现 ftp ;http;共享方式下载文件 并对比本地文件和服务器文件的更新时间 判断性下载
- 数据库-删除表中重复记录实现方法分析
- asp.net2.0 中最快方式实现gridview 更新 删除 xml文件
- 教你用C#读写、删除、更新excel表格记录
- C#中实现伪静态页面两种方式介绍
- [VB.NET]datagrid的记录已删除,怎么更新到数据库???
- JavaScript实现二级、多级(N级)联动下拉列表框更新版,支持IE6,FireFox,函数和类两种调用方式,支持到N级,非常通用。
- C和C#两种方式实现邮件的简单接收
- ViewPager嵌套Fragment实现item实时更新的两种方式
- 【转】C#使用DataSet Datatable更新数据库的三种实现方法
- JavaScript实现二级、多级(N级)联动下拉列表框更新版,支持IE6,FireFox,函数和类两种调用方式,支持到N级,非常通用。
- ibatis 批量插入,批量更新,批量删除,xml与Java代码实现方式
- [整理] C#调用SQLDMO.DLL时间数据库备份 / 还原。 (香神无涯) // C#实现SQLSERVER2000数据库备份还原的两种方法 (带进度条)