了解ADONET模型對數據應用程序開發很重要下面是我今天學習總結的ADONET新手入門級的知識希望對新手有用也期待以這塊破磚頭引來高手們的玉哦!
DataSet(數據集)它表示整個數據庫的一個子集無需跟數據庫有直接連接緩存在機器中DataSet需要周期性地跟父數據庫進行連接以對數據庫和DataSet相互更新
DataSet不僅僅從一個表中獲得幾行而且要獲得一組表它們包含有原數據庫關系和約束的必要原數據
DataSet由DataTable對象和DataRelation對象組成Tables屬性返回的一個DataTableCollection保存著所有的DataTable對象
DataSet結構:
RowsDataTable的Rows集合返回表的行集合使用這個集合查看數據庫的查詢結果在歷遍查看每個記錄要訪問數據集我們只需要訪問DataSet中的表DataTable然後歷遍Rows集合即可
DataAdapter(數據庫適配器)是關系型數據庫的抽象它的角色是作為DataSet和數據庫之間的橋梁DataAdapter提供的Fill()方法可以從數據庫中獲取數據並生成DataSet
數據通訊的過程如圖:
下面讓我們動手試試吧!
數據庫表結構:
測試代碼如下
using System;
using System
Collections
Generic;
using System
ComponentModel;
using System
Data;
using System
Drawing;
using System
Text;
using System
Windows
Forms;
using System
Data
SqlClient;
namespace WindowsApplication
{
public partial class Form
: Form
{
public Form
()
{
InitializeComponent();
}
private void Form
_Load(object sender
EventArgs e)
{
string commandstring =
select foodname
id
foodprice from tb_food
;
string connectionstring =
server=
;database=db_MrCy;uid=sa;pwd=
;
SqlDataAdapter DataAdapter = new SqlDataAdapter(commandstring
connectionstring); //
DataSet dataset = new DataSet();
DataAdapter
Fill(dataset); // 填充到數據集
DataTable dataTable = dataset
Tables[
];
foreach (DataRow dataRow in dataTable
Rows)
listBox
Items
Add(dataRow[
foodname
]);
}
}
}
測試結果
用下面代碼
我們可以簡單地得到某條記錄的某個字段值
Code
MessageBox
Show(dataTable
Rows[
][
foodname
]
ToString());
後話
我覺得本文知識點對VB程序員的ADO
NET遷移很重要
究其原因
是ADO
NET的非連接型(disconnecten)的數據架構
在這裡數據從數據庫取出
緩存在本地及其中
由上述select語句得到的DataSet數據集只包含foodname
id
foodprice三個字段
所得得到的dataTable結構也同樣道理
From:http://tw.wingwit.com/Article/program/net/201311/12041.html