DataGridView控制項具有極高的可配置性和可擴充性。它提供有大量的屬性、方法和事件,可以用來對該控制項的外觀和行為進行自訂。下面通過一個小例子來展示DataGridView進行增刪改查,並同步到資料庫的功能。
表單展示:
使用者需求:
1.當表單顯示時,將資料庫中使用者表中的資料顯示出來。
2.選中一行,執行刪除操作,同時在資料庫中相應資料被刪除。
3.雙擊某個資料,進行編輯,或者在空白行添加新的資料,然後點擊更新,資料庫隨之更新。
代碼展示:
Public Class Form1'代碼較簡單,沒有使用三層架構。 Public DT As DataTable Public SDA As SqlDataAdapter Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim conn = New SqlConnection("Server=***;DataBase=userinfo;User ID=***;Password=***") SDA = New SqlDataAdapter("select * from Users", conn) DT = New DataTable SDA.Fill(DT) '將查到的資料傳到DataTable中 DataGridView1.DataSource = DT '將DataTable中的資料傳給DataGridView1顯示 End Sub '更新操作 Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click Dim SCB = New SqlCommandBuilder(SDA) SDA.Update(DT) MsgBox("更新成功") End Sub '刪除操作 Private Sub btnDel_Click(sender As Object, e As EventArgs) Handles btnDel.Click '刪除選中行 DataGridView1.Rows.RemoveAt(DataGridView1.CurrentCell.RowIndex) '資料庫中進行刪除 Dim SCB = New SqlCommandBuilder(SDA) SDA.Update(DT) MsgBox("刪除成功") End SubEnd Class
注意:
1.資料庫中相應的表中一定要有主鍵。
2.DataGridView啟用編輯和刪除功能。
代碼解析:
1.DataSet與DataTable:
DataSet:資料集,簡單理解為一個臨時資料庫,將資料來源的資料儲存在記憶體中,獨立於任何資料庫。一般包含多個DataTable,以及DataTable之間的約束關係。通過 dataset["表名"]得到DataTable 。
2.SqlDataAdapter:SqlDataAdapter對象名= new SqlDataAdapter(查詢用sql語句,資料庫連接);
Fill方法向資料表中填充資料。Update方法將資料表中的資料提交到資料庫。
3.SqlCommandBuilder對象:
SqlCommandBuilder builder =new SqlCommandBuilder(已建立的DataAdapter對象);
利用SqlCommandBuilder對象能夠自動產生:INSERT命令、UPDATE命令、DELETE命令。
以上展示的只是冰山一角,DataGridView的功能特彆強悍。學無止境!