下面我們來看看如何利用DataSet和DataAdapter來操作數(shù)據(jù)庫 MyConnection.Open(); //打開數(shù)據(jù)庫 MyCommand.Connection = MyConnection; //設(shè)置Command MyCommand. CommandText = “select * from [admin]”; //設(shè)置Command OleDbDataAdapter MyDataAdapter = new OleDbDataAdapter(); //定義OleDbDataAdapte對象 MyDataAdapter.SelectCommand = MyCommand; //設(shè)置OleDbDataAdapte對象的SelectCommand屬性 System.Data.DataSet MyDataSet = new System.Data.DataSet(); //定義DataSet MyDataAdapter.Fill(MyDataSet,"admin"); //通過OleDbDataAdapte對象的SelectCommand屬性填充MyDataSet MyConnection.Close(); //關(guān)閉數(shù)據(jù)庫
整個過程分以下幾步: 1.建立數(shù)據(jù)庫連接 2.建立OleDbDataAdapter對象! 3.實例化OleDbDataAdapter對象! 4.建立一個DataSet對象,執(zhí)行SQL語句得到的表添加到其中 5.關(guān)閉數(shù)據(jù)庫連接 通過上面的步驟我們就可以使用DataBind將DataSet中的數(shù)據(jù)綁定到特定的控件上了! 我們利用DataSet和DataAdapter能夠更加方便的對數(shù)據(jù)庫進(jìn)行操作,如何通過OleDbDataAdapter來執(zhí)行數(shù)據(jù)庫的操作?我們只需要對DataSet中的數(shù)據(jù)進(jìn)行增加、刪除、修改等操作,然后在將DataSet提交給數(shù)據(jù)庫即可。 //利用利用DataSet和DataAdapter操作數(shù)據(jù)庫 public Boolean DoDB() { MyConnection.Open(); //打開數(shù)據(jù)庫 MyCommand.Connection = MyConnection; MyCommand. CommandText = “select * from admin”; OleDbDataAdapter MyDataAdapter = new OleDbDataAdapter(); MyDataAdapter.SelectCommand = MyCommand; System.Data.DataSet MyDataSet = new System.Data.DataSet(); MyDataAdapter.Fill(MyDataSet,"admin"); //通過OleDbDataAdapte對象的SelectCommand屬性填充MyDataSet
OleDbCommandBuilder MyCommandBuild = new OleDbCommandBuilder(MyDataAdapter);//關(guān)聯(lián)DataSet和數(shù)據(jù)庫的操作的,必不可少 foreach(DataRow dr in MyDataSet.Tables["Admin"].Rows) { if(dr["Admin_Code"].ToString().Trim().Equals("a")) { dr.Delete(); //刪除DataSet 中的行 } } MyDataSet.Tables["Admin"].Rows[0][0] = "ss";//更新DataSet中第一行第一列的值 string [] dd = new String[3]{"a","b","v"}; MyDataSet.Tables["Admin"].Rows.Add(dd);//增加一行 MyDataAdapter.Update(MyDataSet,"Admin");//將DataSet中”Admin”表中的數(shù)據(jù)提交給數(shù)據(jù)庫,完成數(shù)據(jù)庫的更新 MyConnection.Close();//關(guān)閉數(shù)據(jù)庫 }
這個程序同Command的delete、insert、update例程是執(zhí)行同樣的功能的,我這里改成了用MyDataAdapter來達(dá)到同樣的效果!
要通過MyDataAdapter執(zhí)行對數(shù)據(jù)庫的操作,要有下面的幾步:
1. 建立數(shù)據(jù)庫連接MyConnection 2. 實例化OleDbDataAdapter對象! 3. 建立一個DataSet對象,并把執(zhí)行select語句得到的記錄添加到其中 4. 建立OleDbCommandBuilder對象! 并讓它與我們前面的OleDbDataAdapter對象關(guān)聯(lián)!語句如下:OleDbCommandBuilder MyCommandBuild = new OleDbCommandBuilder(MyDataAdapter); 5. 對DataSet中包含表的特定記錄進(jìn)行增加、刪除、修改
6. 執(zhí)行OleDbDataAdapter對象的Update命令更新數(shù)據(jù)庫,語句如下: MyDataAdapter.Update(ds,"notes"); 7. 關(guān)閉數(shù)據(jù)庫連接
總結(jié): DataSet是ADO.NET中非常重要的內(nèi)容,也是ADO.NET和ADO的區(qū)別的一個重要表現(xiàn),特別適合成批的數(shù)據(jù)操作,也是數(shù)據(jù)棒定的重要來源。OleDbDataAdapter是DataSet和數(shù)據(jù)源之間建立聯(lián)系的一個橋梁,要熟練的使用DataSet我們需要熟練的掌握OleDbDataAdapter。
出處:藍(lán)色理想
責(zé)任編輯:幻想曲
上一頁 Dataset初步 下一頁
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|