婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ADO.NET中的五個主要對象的詳細介紹與應用

ADO.NET中的五個主要對象的詳細介紹與應用

熱門標簽:保山電話外呼管理系統怎么用 淘寶地圖標注如何做 外呼系統用員工身份證 蘇州銷售外呼系統預算 朝陽市地圖標注 東莞語音電銷機器人排名 太原外呼電銷機器人費用 使用智能電話機器人違法嗎 電話機器人廣告話術
首先看一個例子
配置文件
復制代碼 代碼如下:

configuration>
connectionStrings>
add name=connStr" connectionString="Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\SS.mdf;Integrated Security=true;User Instance=True"/>
/connectionStrings>
/configuration>

代碼
復制代碼 代碼如下:

string strconn = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; //從配置文件中讀取連接字符串
using (SqlConnection conn = new SqlConnection(strconn)) //創建連接對象,出了using范圍,連接自動關閉,對象自動銷毀
{
conn.Open();//打開連接
using (SqlCommand cmd = conn.CreateCommand()) //創建命令對象
{
cmd.CommandText = "select * from T_Persons";//命令內容
DataSet dataset = new DataSet(); //創建一個數據集,相當于一個數據容器
SqlDataAdapter adapter = new SqlDataAdapter(cmd); //創建一個適配器
adapter.Fill(dataset); //將查詢結果填充到數據集中
DataTable datatable = dataset.Tables[0]; //將查詢到的一張表保存在DataTable對象中
for (int i = 0; i datatable.Rows.Count;i++ )//遍歷
{
DataRow row = datatable.Rows[i];//取得一行對象
string name=row["F_Name"].ToString();//取得該行對應列的值
MessageBox.Show(name);
}
}
}

對象解析
復制代碼 代碼如下:

Connection:
和數據庫交互,必須連接它。連接幫助指明數據庫服務器、數據庫名字、用戶名、密碼,和連接數據庫所需要的其它參數。Connection對象會被Command對象使用,這樣就能夠知道是在哪個數據源上面執行命令。
Command:
主要可以用來對數據庫發出一些指令,例如可以對數據庫下達查詢、新增、修改、刪除數據等指令,以及呼叫存在數據庫中的預存程序等。這個對象是架構在Connection 對象上,也就是Command 對象是透過連結到數據源。
DataAdapter:
主要是在數據源以及DataSet 之間執行數據傳輸的工作,它可以透過Command 對象下達命令后,并將取得的數據放入DataSet 對象中。這個對象是架構在Command對象上,并提供了許多配合DataSet 使用的功能。
DataSet:
這個對象可以視為一個暫存區(Cache),可以把從數據庫中所查詢到的數據保留起來,甚至可以將整個數據庫顯示出來。DataSet 的能力不只是可以儲存多個Table 而已,還可以透過DataAdapter對象取得一些例如主鍵等的數據表結構,并可以記錄數據表間的關聯。DataSet 對象可以說是ADO.NET 中重量級的對象,這個對象架構在DataAdapter對象上,本身不具備和數據源溝通的能力;也就是說我們是將DataAdapter對象當做DataSet 對象以及數據源間傳輸數據的橋梁。
DataReader:
當我們只需要循序的讀取數據而不需要其它操作時,可以使用DataReader 對象。DataReader對象只是一次一筆向下循序的讀取數據源中的數據,而且這些數據是只讀的,并不允許作其它的操作。因為DataReader 在讀取數據的時候限制了每次只讀取一筆,而且只能只讀,所以使用起來不但節省資源而且效率很好。使用DataReader 對象除了效率較好之外,因為不用把數據全部傳回,故可以降低網絡的負載。ADO.NET 使用Connection 對象來連接數據庫,使用Command 或DataAdapter對象來執行SQL語句,并將執行的結果返回給DataReader 或 DataAdapter ,然后再使用取得的DataReader 或DataAdapter 對象操作數據結果。

強類型 DataSet(ADO.NET中的重頭戲)
使用方法:在項目上右擊-添加-新建項-數據集,然后將表從服務器資源管理器拖放到DataSet中。注意拖放過程是自動根據表結構生成強類型DataSet等類,沒有把數據托過來,程序還是連得那個數據庫,自動將數據庫連接字符串寫在了配置文件中。

定義表的時候必須要有主鍵(表名:T_Persons)
復制代碼 代碼如下:

T_PersonsTableAdapter adapter = new T_PersonsTableAdapter();//首先生成一個適配器
DataSet演示.DataSet1.T_PersonsDataTable datatable = adapter.GetData();//講返回結果用T_PersonsDataTable類型接收
for (int i = 0; i datatable.Count;i++ )//遍歷表中的每一行
{
DataSet演示.DataSet1.T_PersonsRow row = datatable[i];//每一行放入一個T_PersonsRow中
MessageBox.Show("姓名是:"+row.F_Name+"年齡是:"+row.F_Age);//取出數據(像使用屬性一樣)
}

強類型DataSet的更新
復制代碼 代碼如下:

T_PersonsTableAdapter adapter = new T_PersonsTableAdapter();
DataSet演示.DataSet1.T_PersonsDataTable datatable = adapter.GetData();//取出查詢結果放入表中
DataSet演示.DataSet1.T_PersonsRow row = datatable[0];//取表的第一行
row.F_Name = "newName";//修改第一行數據的名字字段
int i = adapter.Update(datatable);
if (i > 0)
{
MessageBox.Show("修改成功");
}
else
{
MessageBox.Show("修改失敗");
}

數據庫中的表未增加字段:右鍵數據集→配置
增加字段:右鍵數據集→配置→查詢分析器
插入新行
復制代碼 代碼如下:

T_PersonsTableAdapter adapter = new T_PersonsTableAdapter();
int i = adapter.Insert("吉思靜", 22);
if (i > 0)
{
MessageBox.Show("插入成功");
}
else
{
MessageBox.Show("插入失敗");
}

空值處理
復制代碼 代碼如下:

if(row.IsF_NameNull())//判斷數據庫中的該字段對應的值是否為空(這是一個方法,直接調用)
{
MessageBox.Show("數據為空");
}

強類型DataSet添加自定義SQL語句
復制代碼 代碼如下:

右鍵數據集→添加→Query
查詢SQL語句
SELECT * FROM dbo.T_Persons
where F_Age>20
調用該方法:
T_PersonsTableAdapter adapter = new T_PersonsTableAdapter();
DataSet演示.DataSet1.T_PersonsDataTable datatable = adapter.GetDataOlder();
查詢SQL語句(帶參數)
SELECT * FROM dbo.T_Persons
where F_Age>@Age
調用該方法:
T_PersonsTableAdapter adapter = new T_PersonsTableAdapter();
DataSet演示.DataSet1.T_PersonsDataTable datatable = adapter.GetDataByAge(20);
刪除SQL語句(帶參數)
DELETE FROM T_Persons
WHERE (F_Name = @Name)
調用該方法:
T_PersonsTableAdapter adapter = new T_PersonsTableAdapter();
int i = adapter.DeleteByName("李正興");//成功刪除返回1否則返回0

優化強類型DataSet批量處理
(1)插入3000條數據未優化用時
復制代碼 代碼如下:

Stopwatch sw = new Stopwatch();
sw.Start();//打開時鐘
T_testTableAdapter adapter = new T_testTableAdapter();
for(int i=0;i3000;i++)//計算插入3000條數據的用時
{
adapter.Insert(i.ToString(), i);
}
sw.Stop();
MessageBox.Show(sw.Elapsed.ToString());

(2)插入3000條數據優化后用時
復制代碼 代碼如下:

Stopwatch sw = new Stopwatch();
sw.Start();//打開時鐘
T_testTableAdapter adapter = new T_testTableAdapter();
adapter.Connection.Open();//打開連接
for(int i=0;i3000;i++)//計算插入3000條數據的用時
{
adapter.Insert(i.ToString(), i);
}
adapter.Connection.Close();//關閉連接
sw.Stop();
MessageBox.Show(sw.Elapsed.ToString());
您可能感興趣的文章:
  • ADO.NET EF中的實體修改方法
  • ADO.NET 連接數據庫字符串小結(Oracle、SqlServer、Access、ODBC)
  • ADO.NET實體數據模型詳細介紹
  • ADO.Net 類型化DataSet的簡單介紹
  • ADO.NET之連接池技術的使用詳解
  • ASP.NET中實現把Json數據轉換為ADO.NET DataSet對象
  • ADO.NET編程之基礎知識
  • ADO.NET基礎知識匯總

標簽:運城 阿里 呼倫貝爾 克拉瑪依 綏化 西藏 洛陽 潛江

巨人網絡通訊聲明:本文標題《ADO.NET中的五個主要對象的詳細介紹與應用》,本文關鍵詞  ADO.NET,中的,五個,主要,對象,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ADO.NET中的五個主要對象的詳細介紹與應用》相關的同類信息!
  • 本頁收集關于ADO.NET中的五個主要對象的詳細介紹與應用的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美视频日韩视频在线观看| 7777精品伊人久久久大香线蕉最新版 | 色欧美88888久久久久久影院| 1024亚洲合集| 亚洲大片一区二区三区| 丝袜亚洲另类欧美| 国内成+人亚洲+欧美+综合在线| 国产盗摄精品一区二区三区在线| av不卡免费在线观看| 欧美无砖专区一中文字| 精品国产污网站| 亚洲欧美激情在线| 老司机精品视频导航| 成人的网站免费观看| 欧美人妖巨大在线| 国产精品三级在线观看| 丝袜亚洲另类欧美| 久久久久久久久久久久电影 | 日韩欧美中文字幕公布| 国产精品久久看| 麻豆国产精品官网| 色诱视频网站一区| 久久久精品日韩欧美| 香蕉影视欧美成人| 91视频免费观看| 久久午夜老司机| 五月婷婷久久丁香| 一本大道久久a久久精品综合| 精品成人一区二区三区四区| 天天免费综合色| 99久久精品免费精品国产| 久久综合狠狠综合久久综合88| 亚洲线精品一区二区三区| 成人sese在线| 久久久久久综合| 六月丁香综合在线视频| 欧美精品在线一区二区| 亚洲一区二区三区自拍| 91啪亚洲精品| 中文字幕亚洲一区二区av在线| 国产真实乱对白精彩久久| 欧美电影免费观看高清完整版在线观看 | 精品久久99ma| 午夜精品成人在线| 欧美午夜片在线观看| 亚洲欧美激情小说另类| 国产精华液一区二区三区| 日韩欧美一区二区在线视频| 偷拍一区二区三区四区| 欧美日韩国产一二三| 玉米视频成人免费看| 色婷婷精品大在线视频| 亚洲精品视频一区二区| 欧美在线一二三四区| 一区二区国产盗摄色噜噜| 不卡的av电影| 亚洲美女免费视频| 欧美视频一区二区三区四区 | 欧美性色黄大片手机版| 亚洲观看高清完整版在线观看| 91麻豆福利精品推荐| 一区二区三区在线观看欧美| 在线亚洲人成电影网站色www| 中文字幕视频一区二区三区久| 粉嫩av一区二区三区| 一区在线观看视频| 在线这里只有精品| 免费在线看一区| 精品美女在线播放| 粉嫩av亚洲一区二区图片| 国产精品久久久久久久久快鸭| 99这里只有久久精品视频| 亚洲精品免费播放| 欧美日韩大陆一区二区| 免费成人小视频| 日本一区二区三区四区在线视频 | 爽好多水快深点欧美视频| 91精品在线免费观看| 国产制服丝袜一区| 中文字幕日本不卡| 欧美精品久久天天躁| 国产精品资源在线看| 综合久久久久久| 91精品国产欧美一区二区| 国产成人在线影院| 亚洲国产精品久久久久婷婷884| 欧美一区二区免费观在线| 国产成人精品在线看| 亚洲精品写真福利| 欧美成人午夜电影| 91麻豆国产精品久久| 日韩av一区二区三区四区| 久久这里只有精品6| 色婷婷激情一区二区三区| 日韩精品成人一区二区三区| 国产欧美一区二区三区在线看蜜臀 | 欧美一级在线观看| 成人性生交大片免费看中文| 香港成人在线视频| 国产精品久久久久一区二区三区| 欧美久久一二区| a亚洲天堂av| 裸体一区二区三区| www.日韩在线| 精品一区二区国语对白| 亚洲一区在线观看免费| 欧美经典一区二区三区| 欧美一区二区三区色| 一本一道波多野结衣一区二区| 国产麻豆视频精品| 奇米色一区二区| 亚洲福利国产精品| 最近中文字幕一区二区三区| 久久嫩草精品久久久精品一| 51午夜精品国产| 欧美日韩午夜在线视频| 91视频91自| 成人av免费网站| 国产传媒久久文化传媒| 久久99国产精品久久99果冻传媒| 亚洲成人免费视| 亚洲综合小说图片| 亚洲免费观看高清完整版在线观看| 亚洲国产高清在线观看视频| 久久综合国产精品| 日韩欧美国产一区在线观看| 制服丝袜在线91| 777xxx欧美| 制服丝袜国产精品| 欧美一区二区在线观看| 777奇米成人网| 欧美肥妇bbw| 欧美精品在线一区二区三区| 欧美日韩一区二区三区视频 | 亚洲线精品一区二区三区 | 97久久超碰国产精品| 成人久久18免费网站麻豆| 国产成人免费网站| 高清av一区二区| 成人网在线播放| av不卡在线观看| 在线日韩一区二区| 欧美日韩国产一二三| 欧美高清视频不卡网| 欧美二区乱c少妇| 91精品婷婷国产综合久久性色| 欧美精品vⅰdeose4hd| 日韩一区二区不卡| www国产精品av| 国产精品久久久久久久裸模 | 在线免费视频一区二区| 91久久精品一区二区三区| 欧美专区日韩专区| 欧美一级xxx| 国产丝袜在线精品| 亚洲同性gay激情无套| 夜夜亚洲天天久久| 婷婷开心激情综合| 国产一区二区0| 91免费观看视频| 欧美日韩国产经典色站一区二区三区 | 2021国产精品久久精品| 久久久国产精品麻豆| 最近中文字幕一区二区三区| 亚洲自拍都市欧美小说| 秋霞午夜av一区二区三区| 国产黄色精品视频| 欧美性猛交xxxx乱大交退制版| 欧美一区二区私人影院日本| 国产亚洲制服色| 亚洲一区二区三区在线播放| 免费看黄色91| aaa亚洲精品一二三区| 911精品国产一区二区在线| 久久精品亚洲乱码伦伦中文| 一区二区三区四区蜜桃 | 国产在线视频不卡二| 91香蕉视频mp4| 日韩限制级电影在线观看| 国产精品久久免费看| 日本大胆欧美人术艺术动态| 成人黄色综合网站| 欧美一级片在线观看| 中文字幕日韩av资源站| 麻豆一区二区三区| 色94色欧美sute亚洲线路二| 欧美电视剧免费全集观看| 亚洲欧美一区二区三区久本道91| 卡一卡二国产精品 | 欧美一级艳片视频免费观看| 国产精品二区一区二区aⅴ污介绍| 亚洲最大色网站| 国产成人av电影在线观看| 欧美乱熟臀69xxxxxx| 亚洲欧洲一区二区三区| 狠狠久久亚洲欧美| 欧美一区永久视频免费观看| 亚洲精品一二三区| 99久久综合精品| 久久一夜天堂av一区二区三区|