演示ADO.NET DataAdapter對(duì)象屬性
學(xué)習(xí)ADO.NET時(shí),你可能會(huì)遇到ADO.NET DataAdapter對(duì)象屬性問(wèn)題,這里將介紹ADO.NET DataAdapter對(duì)象屬性問(wèn)題的解決方法,在這里拿出來(lái)和大家分享一下。DataAdapter對(duì)象表示一組數(shù)據(jù)命令和一個(gè)數(shù)據(jù)庫(kù)連接,用于填充DataSet對(duì)象和更新數(shù)據(jù)源。作為DataSet對(duì)象和數(shù)據(jù)源之間的橋接器,通過(guò)映射Fill()方法向DataSet填充數(shù)據(jù),通過(guò)Update()方法向數(shù)據(jù)庫(kù)更新DataSet對(duì)象中的變化。這些操作實(shí)際上是由DataAdapter對(duì)象包含的Select、Update、Insert、Delete四種Command命名對(duì)象實(shí)現(xiàn)的。也可以直接結(jié)合Command對(duì)象的使用來(lái)完成數(shù)據(jù)的操
#T#DataView的一個(gè)主要功能是允許在Windows窗體和Web窗體上進(jìn)行數(shù)據(jù)綁定。另外,可自定義DataView來(lái)表示DataTable中數(shù)據(jù)的子集。此功能讓您擁有綁定到同一DataTable、但顯示不同數(shù)據(jù)版本的兩個(gè)控件。例如,一個(gè)控件可能綁定到顯示表中所有行的DataView,而另一個(gè)控件可能配置為只顯示已從DataTable刪除的行。DataTable也具有DefaultView屬性。它返回表的默認(rèn)DataView。例如,如果希望在表上創(chuàng)建自定義視圖,請(qǐng)?jiān)贒efaultView返回的DataView上設(shè)置RowFilter。
DataAdapter對(duì)象常用的方法和屬性請(qǐng)參見(jiàn)表和表所示:
屬性 |
說(shuō)明 |
AcceptChangesDuringFill |
決定在把行復(fù)制到DataTable中時(shí)對(duì)行所做的修改是否可以接受 |
TableMappings |
容納一個(gè)集合,該集合提供返回行和數(shù)據(jù)集之間的主映射 |
方法 |
說(shuō)明 |
Fill() |
用于添加或刷新數(shù)據(jù)集,以便使數(shù)據(jù)集與數(shù)據(jù)源匹配 |
FillSchema() |
用于在數(shù)據(jù)集中添加DataTable,以便與數(shù)據(jù)源的結(jié)構(gòu)匹配 |
Update() |
將DataSet里面的數(shù)值存儲(chǔ)到數(shù)據(jù)庫(kù)服務(wù)器上 |
請(qǐng)看下面的使用示例代碼:
- static private DataSet CreateCommandAndUpdate(string connectionString,string queryString)
- {
- DataSet dataSet = new DataSet();
- using (OleDbConnection connection = new OleDbConnection(connectionString))
- {
- connection.Open();
- OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
- dataAdapter.SelectCommand = new OleDbCommand(queryString, connection);
- OleDbCommandBuilder commandBuilder = new OleDbCommandBuilder(dataAdapter);
- dataAdapter.Fill(dataSet);
- //這里填寫(xiě)修改數(shù)據(jù)集dataSet的代碼
- //如果沒(méi)有使用OleDbCommandBuilder,這行會(huì)報(bào)錯(cuò)
- dataAdapter.Update(dataSet);
- }
- return dataSet;
- }
代碼示例中,首先利用dataAdapter.Fill()將數(shù)據(jù)從數(shù)據(jù)源填充到數(shù)據(jù)集dataSet;***又利用dataAdapter.Update()將數(shù)據(jù)集dataSet中的數(shù)據(jù)回傳至數(shù)據(jù)源。