您的位置:首页 > 数据库

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("第二种方式删除失败!");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐