婷婷综合国产,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
    99精品在线免费| 日本午夜精品视频在线观看| 欧美日韩久久不卡| 99视频一区二区| 成人动漫在线一区| 丰满放荡岳乱妇91ww| 国产成人亚洲综合a∨猫咪| 狠狠色狠狠色综合| 激情文学综合丁香| 成人午夜私人影院| 97精品久久久午夜一区二区三区 | 韩国女主播一区| 亚洲综合一区在线| 中文字幕中文乱码欧美一区二区| 日韩欧美国产三级| 日韩欧美一区二区免费| 欧美sm美女调教| 视频一区二区三区在线| 日韩电影在线免费看| 免费高清在线一区| 国产999精品久久久久久| 成人av在线观| 欧美日韩激情一区二区| 欧美电视剧在线看免费| 国产色综合久久| 亚洲黄一区二区三区| 日韩精品欧美精品| 国产精品123区| 欧美性做爰猛烈叫床潮| 26uuu亚洲综合色| 中文字幕在线观看一区| 日本视频在线一区| 成人av在线影院| 欧美精品免费视频| 国产亚洲欧美日韩俺去了| 亚洲欧美韩国综合色| 日本成人中文字幕| 成人精品一区二区三区中文字幕| 欧洲一区二区三区在线| 久久久久久久综合日本| 亚洲永久精品大片| 国产不卡高清在线观看视频| 欧美视频完全免费看| 日本一区二区三区免费乱视频| 亚洲一二三四区| 国产精品1024| 日韩欧美一区二区久久婷婷| 亚洲欧美日韩久久| 国产伦理精品不卡| 欧美日韩一区二区电影| 国产精品久久久久久久浪潮网站 | 日本不卡在线视频| 色婷婷综合中文久久一本| 国产乱一区二区| 免费成人美女在线观看.| 亚洲精品五月天| 久久精品av麻豆的观看方式| 色综合一区二区| 久久嫩草精品久久久精品| 亚洲高清免费观看高清完整版在线观看 | 欧美精品一区二区三区视频 | 国产最新精品免费| 91精品国产综合久久蜜臀| 中文字幕亚洲成人| 成人国产精品视频| 久久久午夜精品| 欧美一区二区三区四区在线观看 | 亚洲国产成人在线| 国产福利精品导航| 久久综合色天天久久综合图片| 日韩精品亚洲专区| 欧美男生操女生| 日韩电影一区二区三区四区| 色琪琪一区二区三区亚洲区| 亚洲日本护士毛茸茸| 91在线小视频| 一区二区在线观看av| 欧美亚洲一区二区在线| 亚洲图片欧美色图| 欧美日韩国产系列| 免费xxxx性欧美18vr| 日韩欧美综合一区| 激情都市一区二区| 久久精品夜色噜噜亚洲a∨| 国产精品一二三区| 国产精品剧情在线亚洲| 99久久久久久99| 亚洲最新在线观看| 欧美电影一区二区| 国产综合色精品一区二区三区| 久久品道一品道久久精品| 成人一区二区视频| 亚洲永久免费视频| 91精品国产综合久久久久久久| 美女视频第一区二区三区免费观看网站| 欧美放荡的少妇| 国产美女视频91| 亚洲男同1069视频| 91麻豆精品91久久久久久清纯| 精品亚洲国内自在自线福利| 欧美激情在线一区二区三区| 99精品桃花视频在线观看| 洋洋av久久久久久久一区| 日韩美女视频在线| 成人av在线播放网站| 亚洲一区二区在线视频| 日韩欧美激情在线| av不卡一区二区三区| 秋霞午夜鲁丝一区二区老狼| 国产精品家庭影院| 欧美一级国产精品| 91亚洲精品乱码久久久久久蜜桃| 午夜在线电影亚洲一区| 激情久久久久久久久久久久久久久久| 国产欧美日韩另类视频免费观看| 欧洲视频一区二区| 国产一区二区导航在线播放| 国产精品久久久久久户外露出| 欧美一级生活片| 一本色道久久综合精品竹菊| 精彩视频一区二区| 亚洲国产综合91精品麻豆| 久久免费偷拍视频| 日韩一区二区三区高清免费看看| av电影天堂一区二区在线观看| 婷婷久久综合九色国产成人| 成人免费在线观看入口| 久久久综合精品| 欧美肥妇bbw| 欧美亚洲一区二区在线| 99久久精品国产观看| 激情五月播播久久久精品| 亚洲成av人在线观看| 亚洲另类色综合网站| 国产精品素人一区二区| 久久精品人人做人人综合| 日韩欧美在线123| 欧美麻豆精品久久久久久| 一本久久综合亚洲鲁鲁五月天| 东方aⅴ免费观看久久av| 国产伦理精品不卡| 久久精品二区亚洲w码| 久久精品免费观看| 蜜桃精品在线观看| 美洲天堂一区二卡三卡四卡视频 | 日韩一区二区三区精品视频| 亚洲午夜精品17c| 日韩视频免费观看高清完整版| 亚洲一区中文在线| 欧美va天堂va视频va在线| 亚洲一区二区三区四区五区黄 | 精一区二区三区| 成人av在线网站| 成人午夜免费av| 成人精品在线视频观看| 粉嫩aⅴ一区二区三区四区| 国产乱淫av一区二区三区| 精品一区二区在线视频| 久88久久88久久久| 日韩电影在线观看电影| 精品无人码麻豆乱码1区2区 | 久久久久久久久久久黄色| 91精品一区二区三区在线观看| 欧美久久一区二区| 精品人在线二区三区| 久久精品人人做人人爽人人| 国产网站一区二区三区| 亚洲日本青草视频在线怡红院| 一区二区三区成人| 免费不卡在线观看| 国产成人精品一区二区三区四区| 成人伦理片在线| 精品视频在线免费观看| 欧美成va人片在线观看| 亚洲国产精品高清| 一区二区激情视频| 理论片日本一区| av一二三不卡影片| 欧美精品丝袜中出| 中文字幕欧美三区| 一区二区三区国产| 精品一区二区三区免费视频| 成人黄色电影在线| 欧美日韩一级黄| 欧美国产精品劲爆| 午夜精品久久久久久久久久久 | 亚洲午夜久久久久久久久久久| 午夜不卡av在线| 福利一区在线观看| 69堂国产成人免费视频| 国产精品久久久久久久久免费桃花| 最新不卡av在线| 激情图片小说一区| 欧美性xxxxxxxx| 亚洲国产成人一区二区三区| 奇米777欧美一区二区| 97aⅴ精品视频一二三区| 精品国精品国产尤物美女| 亚洲一区二区3| 99久久er热在这里只有精品66|