程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> WinForm+ADO.net應用(二)+ 例子源碼

WinForm+ADO.net應用(二)+ 例子源碼

編輯:關於.NET

在上一篇中,我們主要講解了什麼是ADO.NET 及其三個常用對象的用法,這一篇我們主要學習ADO.net中的新寵配適器對象及內存表對象。

目標:

DataAdapter 對象

DataSet 對象

DataTable 對象

DataAdapter對象:數據適配器是ADO.NET托管提供程序(用於在數據源和數據集之間通信的一組對象)的組成部分 ,適配器用於在數據源和數據集之間交換數據,

適配器對象在DataSet與源數據之間起到橋梁的作用。

DataAdapter對象的常用方法:

Update():從名為“Table”的DataTable為指定的DataSet中每個已插入、已更新或已刪除的行調用相應的INSERT、UPDATE或DELETE語句。

Fill(): 在DataSet中添加或刷新行以匹配使用DataSet名稱的數據源中的行,並創建一個名為“Table”的DataTable。

Dispose():釋放由 DataAdapter 占用的資源。

DataSet 對象:DataSet(數據集)是ADO.NET結構的主要組件,屬於System.Data命名空間。它是從數據源中檢索到的數據在內存中的緩存。具有類似數據庫的結構,如表、列、關系和約束。DataSet支持標准的查看、添加、移除及更新操作;而且這些操作並非只限於數據庫數據。

DataTable 對象:DataTable對象表示了內存中的一個關系數據表,可以獨立創建和使用,也可以由其他.NET Framework對象使用,最常見的情況是作為DataSet的成員使用。DataTable類是.NET Framework類庫中System.Data命名空間中的成員。

關於DataSet 及DataTable在 MSDN有很詳細的資料,本文旨在讓大家能實際的應用DataAdapter對象創建數據源,並呈現在窗體上。所以不做詳細的講解,在今後的文章中,我們詳細的分析DataSet 及DataTable 的使用。

例:

繼續打開我們上一篇所使用的例子

1.在設計窗體時從工具箱拉一個dataGridView控件到到窗體上如圖:

2.繼續在Users類中增加方法,分別在窗體加載時讀取數據與在點擊查詢時讀取數據:

/// <summary>
    /// 查詢數據,並填充到數據集當中
    /// </summary>
    /// <returns></returns>
    public DataTable DTable()
    {
      string strSql = "select * from Users";
      DataTable dt = new DataTable();//創建內存表對象,用來保存適配器對象從數據庫中取得的數據
      SqlDataAdapter da = new SqlDataAdapter(strSql,Conn);

//創建適配器對象,注意,我們使用的是SQL數據庫,所以創建對象的類名為SqlDataAdapter,參數要求SQL語句與鏈接字符串,在這裡不需要像SqlCommand一樣打開和關閉數據庫,因為配適器對象幫我們完成了這部分工作。

da.Fill(dt);//用適配器對象的Fill()方法將查詢出來的數據填充到內存表對象dt中

      return dt;//返回內存表對象
    }
    /// <summary>
    /// 跟據用戶名查詢數據,並填充到數據集當中
    /// </summary>
    /// <param name="name">參數要求用戶名</param>
    /// <returns></returns>
    public DataTable DTable(string name)
    {
      string strSql = "select * from Users where Username like '%"+name+"%'";
      DataTable dt = new DataTable();
      SqlDataAdapter da = new SqlDataAdapter(strSql, Conn);
      da.Fill(dt);
      return dt;
    }

3.打開設計界面,在類中將Users類實例化為對象u如:Users u = new Users(),雙擊窗體標題欄,進入窗體加載事件所調用的方法。並寫代碼如下:

創建方法:

private void Gx()
    {
      dataGridView1.DataSource = u.DTable();//將數據源賦值給dataGridView對象的DataSource屬性
      foreach (string str in u.List())//遍歷所有的Users類中ListArray方法所返回的ArrayList的值
      {
        comboBox1.Items.Add(str);//將值添加到comboBox中
      }
  
    }

在窗體加載事件所調用的方法中調用Gx()

private void Form2_Load(object sender, EventArgs e)
    {
      Gx();
    }

4.打開設計界面,雙擊查詢按鈕,進入查詢按鈕的單擊事件所調用的方法並寫代碼如下:

private void button4_Click(object sender, EventArgs e)
    {
      string name = comboBox1.Text;//讀取comboBox1下拉列表中的值
      dataGridView1.DataSource = u.DTable(name);//把所取得的值當作參數傳給Users類中的DTable方法,並返回DataTable對象。
    }

至此我們講了DataAdapter 對象及DataTable對象的簡單應用。

本文出自 “共享經驗” 博客,請務必保留此出處http://jianle.blog.51cto.com/429692/109801

本文配套源碼

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