程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 小議ADO.NET對象模型

小議ADO.NET對象模型

編輯:關於.NET

了解ADO.NET模型對數據應用程序開發很重要,下面是我今天學習總結的ADO.NET新手入門級的知識,希 望對新手有用,也期待以這塊破磚頭引來高手們的玉哦!

DataSet(數據集)。它表示整個數據庫的一個子集,無需跟數據庫有直接連接,緩存在機器中, DataSet需要周期性地跟父數據庫進行連接,以對數據庫和DataSet相互更新。

DataSet不僅僅從一個表中獲得幾行,而且要獲得一組表,它們包含有原數據庫關系和約束的必要原數 據。

DataSet由DataTable對象和DataRelation對象組成,Tables屬性返回的一個DataTableCollection保存 著所有的DataTable對象。

DataSet結構:

Rows。DataTable的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 WindowsApplication5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_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[0];

            foreach (DataRow dataRow in dataTable.Rows)
                listBox1.Items.Add(dataRow["foodname"]);

        }
    }
}

測試結果:

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

MessageBox.Show(dataTable.Rows[2]["foodname"].ToString());

後話:我覺得本文知識點對VB程序員的ADO.NET遷移很重要,究其原因,是ADO.NET的非連接型 (disconnecten)的數據架構,在這裡數據從數據庫取出,緩存在本地及其中。由上述select語句得到的 DataSet數據集只包含foodname,id ,foodprice三個字段,所得得到的dataTable結構也同樣道理。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved