C#中DataSet、SqlDataAdapter的使用-關於數據庫操作


 

本文鏈接:https://blog.csdn.net/xubaifu1997/article/details/51816785


DataSet

表示數據在內存中的緩存。

我的理解是,在內存中的數據表,需要引用

 

using System.Data;

SqlDataAdapter

表示用於填充 DataSet 和更新 SQL Server 數據庫的一組數據命令和一個數據庫連接。

此類不能被繼承。

暫時知道的用法是使用它進行數據庫查詢操作,之后將查詢到的結果填充給DataSet對象。

A simple example of using DataSet

        /*

            連接字符串

        */

        SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();

        scsb.DataSource = "WIN-KGQPBDFG53P\\SQLEXPRESS";

        scsb.InitialCatalog = "STU50";

        scsb.UserID = "sa";

        scsb.Password = "123";

        /*

            連接對象

        */

        SqlConnection sqlConn = new SqlConnection(scsb.ToString());

        sqlConn.Open();

        /*

            查詢語句

        */

        string commStr = "SELECT 學號, 姓名, 出生日期 FROM Readers";

        /*

            創建SqlDataAdapter對象

            第一個參數是SQL語句字符串

            第二個參數是已打開連接的數據庫連接對象

        */

        SqlDataAdapter sda = new SqlDataAdapter(commStr, sqlConn);

        /*

            將查詢到的內容填充到DataSet對象

            使用SqlDataAdapter的Fill方法

            第一個參數是DataSet對象

            第二個參數是指定表的名稱

        */

        DataSet ds = new DataSet();

        sda.Fill(ds, "Readers");

        /*

            將DataSet中的表傳給DataGridView控件

        */

        dgvShowInfo.DataSource = ds.Tables["Readers"];

利用SqlDataAdapter同步更新數據庫

當在DataGridView控件中對數據進行修改時,可以直接將修改內容同步寫入數據庫。 
建立一個按鈕,用與執行同步數據庫的操作,當按鈕被點擊時,執行

SqlCommandBuilder scb = new SqlCommandBuilder(sda);

sda.Update(ds, "Readers");

PS:ds需要有主鍵列才能進行更新操作 
參考: 
SqlCommandBuilder是用於自動生成SQL語句的一個類,當需要進行更改時生成SQL語句把更改寫進數據庫。 
如果去掉SqlCommandBuilder,需要自己寫關於更新的SQL語句。

 


免責聲明!

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



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