濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > 當(dāng)年學(xué)習(xí)ADO.NET的筆記

當(dāng)年學(xué)習(xí)ADO.NET的筆記

熱門標(biāo)簽:海外地圖標(biāo)注門市標(biāo) 上海楊浦怎么申請(qǐng)申請(qǐng)400電話 廈門商鋪地圖標(biāo)注 浙江外呼系統(tǒng)怎么安裝 云南外呼電銷機(jī)器人系統(tǒng) 銅川小型外呼系統(tǒng)運(yùn)營商 陜西人工外呼系統(tǒng)哪家好 地圖標(biāo)注多個(gè)行程 山西防封卡電銷卡套餐
那些年我還在學(xué)ADO.NET
那些年學(xué)習(xí)了ASP.NET后又開始學(xué)習(xí)ASP.NET的新知識(shí),ADO.NET用于訪問數(shù)據(jù)庫,一般可以分為連接模式和非連接模式。連接模式指的是在訪問數(shù)據(jù)時(shí),一直與數(shù)據(jù)庫保持連接,訪問完數(shù)據(jù)后才與數(shù)據(jù)庫斷開連接,主要采用的ADO.NET對(duì)象是Connection、Command、DataReader等;連接模式指的是通過數(shù)據(jù)集的方式對(duì)數(shù)據(jù)庫進(jìn)行操作,將數(shù)據(jù)讀到內(nèi)存中,從而完成數(shù)據(jù)的操作,數(shù)據(jù)集會(huì)自動(dòng)更新到數(shù)據(jù)庫,主要采用ADO.NET對(duì)象是DataAdapter、DataSet等。下面的我們就來看一下代碼吧。
本示例代碼采用工廠模式的方式,這樣就可以達(dá)到只改變少量的代碼完成數(shù)據(jù)庫之間的切換,工廠模式是要采用的對(duì)象有以下幾個(gè):DbProviderFactory、DbConnection、DbTransaction
、DbCommand、DbDataReader、DbDataAdapter、DbCommandBuilder等。

1、 共同的連接串

復(fù)制代碼 代碼如下:

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


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

復(fù)制代碼 代碼如下:

public void getSqlConnection()
{
//得到一個(gè)數(shù)據(jù)提供者,根據(jù)其傳入的數(shù)據(jù)提供者對(duì)象
DbProviderFactory dbf = DbProviderFactories.GetFactory(ProviderName);
//創(chuàng)建連接
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、 連接模式代碼:
復(fù)制代碼 代碼如下:

public void getDataSetConnection()
{
//得到一個(gè)數(shù)據(jù)提供者,根據(jù)其傳入的數(shù)據(jù)提供者對(duì)象
DbProviderFactory dbf = DbProviderFactories.GetFactory(ProviderName);
//創(chuàng)建連接
DbConnection conn = dbf.CreateConnection();
//連接字符串
conn.ConnectionString = ConnStr;
//創(chuàng)建DataAdapter對(duì)象
DbDataAdapter da = dbf.CreateDataAdapter();
//創(chuàng)建自動(dòng)生成sql語句對(duì)象
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]);
}
}
}

效果:

以上是一個(gè)簡(jiǎn)單的例子,在正常情況下,就不會(huì)把連接串寫成字符串,應(yīng)放在config文件中,同樣SQL語句也會(huì)改為存儲(chǔ)過程,這樣改起來比較方便。

總結(jié)

那些年學(xué)習(xí)ADO.NET,基本了解了怎樣去訪問數(shù)據(jù)庫,對(duì)其進(jìn)行操作,現(xiàn)在.NET又有了一些新的方法,比如說使用Linq、DbContext等;此文以回憶那些年學(xué)習(xí)的日子。
您可能感興趣的文章:
  • ADO.NET EF中的實(shí)體修改方法
  • 告別ADO.NET實(shí)現(xiàn)應(yīng)用系統(tǒng)無縫切換的煩惱(總結(jié)篇)
  • ADO.NET實(shí)用技巧兩則
  • 用C#對(duì)ADO.NET數(shù)據(jù)庫完成簡(jiǎn)單操作的方法
  • 數(shù)據(jù)庫開發(fā)總結(jié)(ADO.NET小結(jié))
  • ASP.NET:ADO.NET的DataAdapter對(duì)象
  • ADO.NET 的最佳實(shí)踐技巧
  • 一個(gè)經(jīng)典的ADO.NET入門例子
  • ADO.NET實(shí)用技巧兩則

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《當(dāng)年學(xué)習(xí)ADO.NET的筆記》,本文關(guān)鍵詞  當(dāng)年,學(xué)習(xí),ADO.NET,的,筆記,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《當(dāng)年學(xué)習(xí)ADO.NET的筆記》相關(guān)的同類信息!
  • 本頁收集關(guān)于當(dāng)年學(xué)習(xí)ADO.NET的筆記的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    渭南市| 休宁县| 瑞安市| 昭觉县| 梓潼县| 甘孜县| 潞城市| 隆子县| 铜川市| 涟源市| 翼城县| 泸定县| 麻阳| 海盐县| 榆中县| 廊坊市| 枞阳县| 卫辉市| 将乐县| 卢氏县| 泗水县| 横山县| 前郭尔| 玛多县| 桂阳县| 遂溪县| 乐山市| 庆元县| 凤凰县| 南丹县| 虎林市| 化隆| 舞阳县| 平泉县| 上饶市| 油尖旺区| 星子县| 筠连县| 习水县| 桐梓县| 柯坪县|