程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中數據庫的更新和刪除記錄的兩種實現方式

C#中數據庫的更新和刪除記錄的兩種實現方式

編輯:C#入門知識

框圖在上一篇文章中給出了,刪除、更新和插入一樣,也都有兩種方式,一種是在數據源的編輯器中設定相應的方法來實現,另一種是自己寫代碼完成。

下面先給出更新的代碼:

         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("第二種方式刪除失敗!");


                }
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved