熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

小議ADO.NET對象模型

2013-11-13 09:56:23  來源: .NET編程 

  了解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 SystemCollectionsGeneric;
using SystemComponentModel;
using SystemData;
using SystemDrawing;
using SystemText;
using SystemWindowsForms;
using SystemDataSqlClient;

namespace WindowsApplication
{
    public partial class Form : Form
    {
        public Form()
        {
            InitializeComponent();
        }

        private void Form_Load(object sender EventArgs e)
        {
            string commandstring = select foodnameid foodprice from tb_food ;
            string connectionstring = server=;database=db_MrCy;uid=sa;pwd=;
            SqlDataAdapter DataAdapter = new SqlDataAdapter(commandstring connectionstring);      //  
            DataSet dataset = new DataSet();
            DataAdapterFill(dataset);                   //  填充到數據集
            DataTable dataTable = datasetTables[];

            foreach (DataRow dataRow in dataTableRows)
                listBoxItemsAdd(dataRow[foodname]);
           
        }
    }

測試結果


用下面代碼我們可以簡單地得到某條記錄的某個字段值

Code
MessageBoxShow(dataTableRows[][foodname]ToString());
 
後話我覺得本文知識點對VB程序員的ADONET遷移很重要究其原因是ADONET的非連接型(disconnecten)的數據架構在這裡數據從數據庫取出緩存在本地及其中


由上述select語句得到的DataSet數據集只包含foodnameid foodprice三個字段所得得到的dataTable結構也同樣道理


From:http://tw.wingwit.com/Article/program/net/201311/12041.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.