ado.net的簡單數據庫操作(三)——簡單增刪改查的實際應用


   果然,在犯困的時候就該寫寫博客,寫博客就不困了,哈哈!

  上篇我記錄了自己的SqlHelper的開發過程,今天記錄一下如何使用這個sqlhelper書寫一個具有簡單增刪改查的小實例啦。

  實例描述:在數據庫新建一張TbClass表,將表的內容讀取到一個DataGridView上,並且可以在winform面板上對表里的內容進行增、刪、改的操作。首先給出winform的設計:

 

 下面開始寫步驟咯,哈哈:

第一步:搭建該winform框架:

 

 按圖所示分別對其屬性進行一些修改,搭建完成后為:

第二步:編寫代碼:

1.數據表介紹

首先看看我的數據庫長啥樣的:

tClassId為主鍵自增,不能為空,tClassName為nvarchar,非空 ,tClassDesc為nVarchar,可以為空。

然后確定查詢語句,為:select * from TbClass;

2.添加SqlHelper,編寫數據加載方法

首先,創建LoadData()方法,然后在Form1_Load()方法中調用LoadData方法;

LoadData方法書寫如下:

 1  public void LoadData()
 2  {
 3             //聲明一個list集合
 4             List<TbClass> list = new List<TbClass>();
 5             //書寫sql語句
 6             string sql = "select * from TbClass";
 7             //調SqlHelper實現查詢
 8             SqlDataReader reader = SqlHelper.ExecuteReader(sql);
 9             if (reader.HasRows)
10             {
11                 while (reader.Read())
12                 {
13                     //創建數據庫對象tbClass
14                     TbClass tbClass = new TbClass();
15                     tbClass.tClassId = reader.GetInt32(0);
16                     tbClass.tClassName = reader.GetString(1);
17                     tbClass.tClassDesc = reader.IsDBNull(2) ? null : reader.GetString(2); //數據表中該字段是允許為空的,故這里做出判斷,為空則使該值為null,
18                     list.Add(tbClass);
19                 }
20             }
21             //將list數據綁定到dataGridView上
22             this.dataGridView1.DataSource = list;
23  }

 

   在使用SqlHelper之前,需要在App.config中添加配置代碼和在項目中添加引用,這是需要注意的,因為在以前的博客中有詳細講解如何添加,這里不再講了哈。

 下面看一下讀取數據后的結果:

3.完成添加班級的功能

添加功能主要是向數據庫中插入一條記錄,首先寫出sql語句:

 

sql = “insert into TbClass (tClassName,tClassDesc) Values('高5班','文科班') ”;

 

 

 

因為這里需要使用傳遞參數的sql語句,所以上面的語句寫為:

sql = "insert into TbClass (tClassName,tClassDesc) Values(@classname,@classdesc)"

 

 

 然后我們在winform上雙擊 “添加"按鈕,進入相關方法體邊界方法:

看代碼:

 1          private void button1_Click(object sender, EventArgs e)
 2          {
 3             //1.執行插入操作
 4              bool  row = InsertClass();
 5             if (row)
 6             {
 7                 //2.插入成功,重新加載數據
 8                 MessageBox.Show("添加了" + 1 +"班級");
 9                 LoadData();
10             }
11             else
12             {
13                     //插入失敗
14             }
15           
16          }
17 
18         /// <summary>
19         /// 執行向數據庫中插入添加的班級的操作
20         /// </summary>
21         /// <returns> 返回布爾類型結果,成功返回true,否則false</returns>
22         private Boolean InsertClass()
23         {
24             //1.獲取輸入值
25             string className = txtClassName.Text.Trim();
26             string classDesc = txtClassDesc.Text.Trim();
27             //2.sql語句
28             string sql = "insert into TbClass (tClassName,tClassDesc) values (@classname,@classdesc)";
29             //3.定義參數數組
30             SqlParameter[] parameters = new SqlParameter[] {
31                 new SqlParameter("@classname",System.Data.SqlDbType.NVarChar,50){Value = className },
32                 new SqlParameter("@classdesc",System.Data.SqlDbType.NVarChar,250){Value = classDesc }
33             };
34             //4.調用SqlHelper,返回結果
35             return   SqlHelper.ExecuteNonQurey(sql,parameters) > 0;
36 
37         }                    

 

 然后看一下插入的結果:

 

 

 4.修改班級和刪除班級

(1)實現選中某行,該行的信息出現在下面的編輯框中

要實現對某個行的操作,首先得選中某行,所以,首先要把dataGridView的屬性里的SelectionMode改為FullRowSelect,如圖:

 

 然后,要在鼠標選中某一行時,獲取該行的tClassId.接下來看看獲取該id的做法:

在dataGridView的屬性頁中找到一個名為RowEnter的事件,雙擊進入方法,編寫函數:

 

 

 然后我們看代碼:

 1  private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
 2  {
 3             //獲取當前選中的行對象
 4             DataGridViewRow currentRow = this.dataGridView1.Rows[e.RowIndex];
 5 
 6             //獲取選中行對象中的值,並將值存入TbClass中
 7             TbClass model = currentRow.DataBoundItem as TbClass;
 8 
 9             if (model != null)
10             {
11                 txtClassId.Text = model.tClassId.ToString();
12                 txtEditClassName.Text = model.tClassName.ToString();
13                 txtEditClassDesc.Text = model.tClassDesc.ToString();
14             }
15             
16}

 

 

 

 (3)實現修改操作

在獲取了某行的行內信息后那么對該行進行修改和刪除就變得簡單了,又是幾個數據庫的操作,下面我們雙擊保存修改,進入修改按鈕方法體中書寫代碼:

 代碼如下:

 1   /// <summary>
 2         /// 將修改后的內容存儲到數據庫,並重新加載數據
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         private void button2_Click(object sender, EventArgs e)
 7         {
 8             //獲取修改后的數據
 9             TbClass model = new TbClass();
10             int classId = Convert.ToInt32(txtClassId.Text);
11             string className = txtEditClassName.Text.Trim();
12             string classDesc = txtEditClassDesc.Text.Trim();
13             //確定和書寫sql語句
14             string sql = "update TbClass set tClassName = @classname , tClassDesc = @classdesc where tClassId = @clsssid";
15             //定義參數數組並賦值
16             SqlParameter[] parameters = new SqlParameter[] {
17                 new SqlParameter("@clsssid",System.Data.SqlDbType.Int){ Value = classId},
18                 new SqlParameter("@classname",System.Data.SqlDbType.NVarChar,50){Value = className },
19                 new SqlParameter("@classdesc ",System.Data.SqlDbType.NVarChar,250){Value = classDesc }
20             };
21             int row = SqlHelper.ExecuteNonQurey(sql,parameters);
22             if (row > 0)
23             {
24                 MessageBox.Show("更新了" +row + "");
25                 LoadData();
26             }
27             else
28             {
29                     
30             }
31 
32         }

 

演示結果: 

(4)刪除操作

同樣是操作數據庫的語句,還是看代碼吧,哈哈:

 

 1   private void button3_Click(object sender, EventArgs e)
 2         {
 3             //獲取當前行的 tClassId
 4             int classId = Convert.ToInt32(txtClassId.Text);
 5             //sql語句
 6             string sql = "delete  from TbClass where tClassId = @classid";
 7             //參數數組
 8             SqlParameter[] parameters = new SqlParameter[] {
 9                 new SqlParameter("@classid",System.Data.SqlDbType.Int){ Value = classId}
10             };
11             //執行sql語句
12             int row = SqlHelper.ExecuteNonQurey(sql,parameters);
13             if (row > 0)
14             {
15                 MessageBox.Show("刪除了" + row + "記錄");
16                 LoadData();
17             }
18 
19         }

 

 

結果圖:

 

 好了,關於ado.net的一些基本操作就記錄到這里哦,后面要去學mvc了,希望和其他菜鳥們一起進步。

 

我的QQ: 3074596466

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM