好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 當年學習ADO.NET的筆記

當年學習ADO.NET的筆記

熱門標簽:海外地圖標注門市標 上海楊浦怎么申請申請400電話 廈門商鋪地圖標注 浙江外呼系統怎么安裝 云南外呼電銷機器人系統 銅川小型外呼系統運營商 陜西人工外呼系統哪家好 地圖標注多個行程 山西防封卡電銷卡套餐
那些年我還在學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等;此文以回憶那些年學習的日子。
您可能感興趣的文章:
  • ADO.NET EF中的實體修改方法
  • 告別ADO.NET實現應用系統無縫切換的煩惱(總結篇)
  • ADO.NET實用技巧兩則
  • 用C#對ADO.NET數據庫完成簡單操作的方法
  • 數據庫開發總結(ADO.NET小結)
  • ASP.NET:ADO.NET的DataAdapter對象
  • ADO.NET 的最佳實踐技巧
  • 一個經典的ADO.NET入門例子
  • ADO.NET實用技巧兩則

標簽:孝感 許昌 常州 朔州 自貢 西雙版納 萊蕪 信陽

巨人網絡通訊聲明:本文標題《當年學習ADO.NET的筆記》,本文關鍵詞  當年,學習,ADO.NET,的,筆記,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《當年學習ADO.NET的筆記》相關的同類信息!
  • 本頁收集關于當年學習ADO.NET的筆記的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 99欧美在线| 激烈毫无遮挡床戏视频| 特黄A三级三级三级视频| 午夜男人一级A片7777| 神马午夜电影网| 狠婷婷| xo男女动态图出处800期| 久久久国产精品无码一区二区三区,| 98国产精品永久在线观看| 911国产自产精品a| 岛国在线播放v片免费| 91精品国内久久久久精品一本| 特级毛片爽www免费版| 9i福利AV视频在线观看| 高H亲子乱H| 欧美猛男激情夫夫同性作爱| 天天操夜夜拍| 脱了老师的裙子猛烈进出软件 | av电影在线免费观看| gaysexporn| 国产精品久久久久久久久久软件| 亚洲色综合狠狠综合区| 国内精品一区二区宅男| 荡女高中生蒋雅雅末班车被吸| a级黄色影片| 久久久久久国产精品免费网站| japanese大乳boobs巨大孕| 国产一区二区影院| 国产福利一区二区三区在线视频| 一阴夹两阳后续走势| 亚洲a级| 贝肯熊第五季| 亚洲毛片在线看| 国精产品一区一区三区四区mba| 久久精品人人槡人妻| 征服丰臀艳妇| 嗯啊慢一点| 主人~能把跳d遥控器关了嘛| 冰漪人体高清大胆私拍www| 大学生做爰A片免费看网站| 孕妇高辣慎入hh|