使用DataSet數據集刪除記錄


使用DataSet刪除記錄和使用DataSet更新記錄非常的相似,DataSet刪除記錄的步驟如下所示。

q  創建一個Connection對象。

q  創建一個DataAdapter對象。

q  初始化適配器。

q  使用數據適配器的Fill方法執行SELECT命令,並填充DataSet。

q  執行SqlCommandBuilder方法生成UpdataCommand方法。

q  創建DataTable對象並指定相應的DataSet中的表。

q  創建DataRow對象並查找需要修改的相應行。

q  使用Delete方法刪除該行。

q  使用Updata方法進行數據更新。

在刪除記錄前,首先需要創建連接,示例代碼如下所示。

           string str = "server='(local)';database='mytable';uid='sa';pwd='sa'";

            SqlConnection con = new SqlConnection(str);

            con.Open();

            string strsql = "select * from mynews";

上述代碼創建了與數據庫的連接,並編寫SQL查詢語句來填充DataSet。填充DataSet對象需使用DataAdapter,示例代碼如下所示。

            SqlDataAdapter da = new SqlDataAdapter(strsql, con);

            SqlCommandBuilder build = new SqlCommandBuilder(da);

            DataSet ds = new DataSet();

            da.Fill(ds, "datatable");

編寫完成后,需要創建DataTable對象對DataSet中相應的數據進行操作,其代碼和更新記錄基本相同,示例代碼如下所示。

            DataTable tb = ds.Tables["datatable"];

            tb.PrimaryKey = new DataColumn[] { tb.Columns["id"] };

            DataRow row = tb.Rows.Find(3);

在進行刪除之前,同樣需要找到相應的行,來指定刪除語句所需要刪除的行,示例代碼如下所示。

            row.Delete();

讀者可以看到,DataSet刪除方法與更新方法不同的地方只操作語句的不同,在更新中使用的是Update()方法,而在刪除中使用的是Delete()方法。

注意:當使用Delete方法刪除記錄行的時候,可以通過調用DataRow對象的RejectChanges方法取消對記錄的刪除,當使用該方法刪除記錄行時,該行的狀態會恢復為Unchanged。

在刪除完畢后,同樣需要保持DataSet中的數據和數據庫中的數據的一致性,示例代碼如下所示。

            da.Update(ds, "datatable");

使用Update方法能夠使DataSet中的數據和數據庫中的數據保持一致性,在ASP中,這種方法也比較常見。


免責聲明!

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



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