• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    當年學習ADO.NET的筆記

    來源:懂視網 責編:小采 時間:2020-11-27 22:42:26
    文檔

    當年學習ADO.NET的筆記

    當年學習ADO.NET的筆記:那些年我還在學ADO.NET 那些年學習了ASP.NET后又開始學習ASP.NET的新知識,ADO.NET用于訪問數據庫,一般可以分為連接模式和非連接模式。連接模式指的是在訪問數據時,一直與數據庫保持連接,訪問完數據后才與數據庫斷開連接,主要采用的ADO.NET對象是
    推薦度:
    導讀當年學習ADO.NET的筆記:那些年我還在學ADO.NET 那些年學習了ASP.NET后又開始學習ASP.NET的新知識,ADO.NET用于訪問數據庫,一般可以分為連接模式和非連接模式。連接模式指的是在訪問數據時,一直與數據庫保持連接,訪問完數據后才與數據庫斷開連接,主要采用的ADO.NET對象是

    那些年我還在學ADO.NET
    那些年學習了ASP.NET后又開始學習ASP.NET的新知識,ADO.NET用于訪問數據庫,一般可以分為連接模式和非連接模式。連接模式指的是在訪問數據時,一直與數據庫保持連接,訪問完數據后才與數據庫斷開連接,主要采用的ADO.NET對象是Connection、Command、DataReader等;連接模式指的是通過數據集的方式對數據庫進行操作,將數據讀到內存中,從而完成數據的操作,數據集會自動更新到數據庫,主要采用ADO.NET對象是DataAdapter、DataSet等。下面的我們就來看一下代碼吧。
    本示例代碼采用工廠模式的方式,這樣就可以達到只改變少量的代碼完成數據庫之間的切換,工廠模式是要采用的對象有以下幾個:DbProviderFactory、DbConnection、DbTransaction
    、DbCommand、DbDataReader、DbDataAdapter、DbCommandBuilder等。

    1、 共同的連接串

    代碼如下:


    string ProviderName = "System.Data.SqlClient";
    string ConnStr = "Data Source=.;Initial Catalog=Northind;Integrated Security=True";
    string sqlStr = "select * from dbo.Categories";

    2、 非連接模式代碼如下:

    代碼如下:


    public void getSqlConnection()
    {
    //得到一個數據提供者,根據其傳入的數據提供者對象
    DbProviderFactory dbf = DbProviderFactories.GetFactory(ProviderName);
    //創建連接
    DbConnection conn = dbf.CreateConnection();
    //連接字符串
    conn.ConnectionString = ConnStr;
    conn.Open();
    DbTransaction ts = conn.BeginTransaction();
    DbCommand dbcmd = null;
    try
    {
    dbcmd = dbf.CreateCommand();
    dbcmd.CommandText = sqlStr;
    dbcmd.Connection = conn;
    dbcmd.Transaction = ts;
    DbDataReader dr = dbcmd.ExecuteReader();
    while (dr.Read())
    {
    Console.WriteLine(dr[1].ToString());
    }
    dr.Close();
    ts.Commit();
    }
    catch (Exception e)
    {
    ts.Rollback();
    }
    finally
    {
    conn.Close();
    if (dbcmd != null)
    {
    dbcmd.Dispose();
    }
    }
    }

    效果:

    3、 連接模式代碼:
    代碼如下:

    public void getDataSetConnection()
    {
    //得到一個數據提供者,根據其傳入的數據提供者對象
    DbProviderFactory dbf = DbProviderFactories.GetFactory(ProviderName);
    //創建連接
    DbConnection conn = dbf.CreateConnection();
    //連接字符串
    conn.ConnectionString = ConnStr;
    //創建DataAdapter對象
    DbDataAdapter da = dbf.CreateDataAdapter();
    //創建自動生成sql語句對象
    DbCommandBuilder dbCmdb = dbf.CreateCommandBuilder();
    using (DbCommand dbcmd = dbf.CreateCommand())
    {
    dbcmd.CommandText = sqlStr;
    dbcmd.Connection = conn;
    //DbDataAdapter指定命令
    da.SelectCommand = dbcmd;
    //DbCommandBuilder指定dataAdpter
    dbCmdb.DataAdapter = da;
    DataSet ds = new DataSet();
    da.Fill(ds);
    // ds.Tables[0].Rows[0].Delete();
    da.Update(ds);
    DataTable dt = ds.Tables[0];
    DataRow dr;
    for (int i = 0; i < dt.Rows.Count; i++)
    {
    dr = dt.Rows[i];
    Console.WriteLine(dr[1] + " " + dr[2]);
    }
    }
    }

    效果:

    以上是一個簡單的例子,在正常情況下,就不會把連接串寫成字符串,應放在config文件中,同樣SQL語句也會改為存儲過程,這樣改起來比較方便。

    總結

    那些年學習ADO.NET,基本了解了怎樣去訪問數據庫,對其進行操作,現在.NET又有了一些新的方法,比如說使用Linq、DbContext等;此文以回憶那些年學習的日子。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    當年學習ADO.NET的筆記

    當年學習ADO.NET的筆記:那些年我還在學ADO.NET 那些年學習了ASP.NET后又開始學習ASP.NET的新知識,ADO.NET用于訪問數據庫,一般可以分為連接模式和非連接模式。連接模式指的是在訪問數據時,一直與數據庫保持連接,訪問完數據后才與數據庫斷開連接,主要采用的ADO.NET對象是
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产精品夜色视频一级区 | 一级做a爰黑人又硬又粗免费看51社区国产精品视| 久久精品国产亚洲av麻豆色欲| 精品视频在线观看你懂的一区 | 国产精品无码无需播放器| 久久精品夜色噜噜亚洲A∨ | 亚洲精品成人片在线播放| 精品人妻少妇一区二区三区不卡| 欧美精品一区二区精品久久| 国产亚洲精品精华液| 真实国产精品vr专区| 欧美成人精品高清视频在线观看| 国产激情精品一区二区三区| 国产精品久久久久9999高清| 久久精品中文无码资源站| 日韩亚洲精品福利| 久久精品无码专区免费| 国产精品无码无卡无需播放器| 欧美精品第一页| 91精品欧美综合在线观看| 国产成人精品日本亚洲网站| 国产午夜福利精品一区二区三区| 亚洲人精品午夜射精日韩| 日韩精品一区二区午夜成人版 | 久久综合精品国产二区无码| 亚洲日韩精品一区二区三区 | 国产精品日韩深夜福利久久| 亚洲国产精品lv| 亚洲人成亚洲精品| 亚洲精品高清国产一久久| 国产亚洲精品va在线| 国内精品久久久久久野外| 91大神精品全国在线观看| 亚洲日韩精品无码专区网址| 久久精品国产福利国产琪琪| 国产亚洲精品资在线| 国产在线精品一区二区高清不卡 | 亚洲精品无码mv在线观看网站| 中文字幕无码精品亚洲资源网久久| 思思久久99热免费精品6| 中文字幕日韩精品有码视频|