解析五種ADO.NET數(shù)據(jù)庫連接知識_.Net教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦: 解析網(wǎng)頁中添加新浪天氣預報的幾種方法1.利用新浪提供給的iframe直接嵌入,這種方式非常的簡單,但是卻沒有交互性。代碼如下: iframeframeborder=0src=http://php.weather.sina.com.cn/widget/weather.phpscrolling=nowidth=246height=360/iframe 2.抓取當天的天氣,以指定格式輸出。
一、SqlConnection對象ADO.NET使用SqlConnection對象與SQL Server進行連接。連接字符串的常用形式有兩種:
1.使用Windows集成安全身份認證,例如:string connectionString ="IntegratedSecurity=SSPI;Database=MyDatabase.mdf;Server=localhost;"; 或:string connectionString = "Initial Catalog= MyDataBase; Data Source=localhost;Integrated Security=SSPI;" 2.在連接字符串中指定服務(wù)器名、用戶id、用戶口令、數(shù)據(jù)庫名等信息。例如:string connectionString = "server=localhost; uid=sa; pwd=123; database=MyDatabase.mdf"; 然后通過連接字符串直接創(chuàng)建SqlConnection對象,如SqlConnection conn = new SqlConnection(connectionString);
二、SqlCommand對象
在ADO.NET中,有兩種操作數(shù)據(jù)庫的方式:
1.無連接的方式;
2.保持連接的方式。
不論采用哪種方式,都可以通過SqlCommand對象提供的方法傳遞對數(shù)據(jù)庫操作的命令,并返回命令執(zhí)行的結(jié)果。
在保持連接的方式下操作數(shù)據(jù)庫的一般步驟為:
1.創(chuàng)建SqlConnection的實例;
2.創(chuàng)建SqlCommand的實例;
3.打開連接;
4.執(zhí)行命令;
5.關(guān)閉連接。
SqlCommand對象提供了多種完成對數(shù)據(jù)庫操作的方法。常用有:
1.ExecuteNonQuery
該方法執(zhí)行SQL語句的結(jié)果,但不返回命令執(zhí)行的表數(shù)據(jù),僅返回操作所影響的行數(shù)。
2.ExecuteReader
ExecuteReader方法提供了只向前的、順序的快速讀取數(shù)據(jù)庫中數(shù)據(jù)的方法。該方法根據(jù)提供的SELECT語句,返回一個可以順序讀取的SqlDataReader對象,編程者可以使用Read方法循環(huán)依次讀取每個記錄中各字段(列)的內(nèi)容。
3.ExecuteScaler()
該方法用于執(zhí)行SELECT查詢,得到的返回結(jié)果為一個值的情況,比如使用count函數(shù)求表中記錄個數(shù)或者使用sum函數(shù)求和等。
三、SqlDataAdapter對象
SqlDataAdapter對象通過無連接的方式完成數(shù)據(jù)庫和本地DataSet之間的交互。使用這種方式操作數(shù)據(jù)庫的一般步驟為:
1.創(chuàng)建SqlConnection的實例;
2.創(chuàng)建SqlDataAdapter的實例,需要的話,根據(jù)select語句生成其他SQL語句;
3.創(chuàng)建DataSet的實例;
4.使用Fill方法將數(shù)據(jù)庫中的表填充到DataSet的表中;
5.利用DataGridView或者其他控件對象編輯或顯示數(shù)據(jù);
6.需要的話,使用Update方法更新數(shù)據(jù)庫。
SqlDataAdapter對象通過SelectCommand、InsertCommand、UpdateCommand和DeleteCommand屬性為后臺數(shù)據(jù)庫提供對應(yīng)的操作命令,并傳遞需要的參數(shù)。一般情況下,只需要提供SELECT語句和連接字符串創(chuàng)建SqlDataAdapter對象,然后利用SqlCommandBuilder對象生成InsertCommand、UpdateCommand和DeleteCommand屬性。
四、DataTable對象
ADO.NET可以在與數(shù)據(jù)庫斷開連接的方式下通過DataSet或DataTable對象進行數(shù)據(jù)處理,當需要更新數(shù)據(jù)時才重新與數(shù)據(jù)源進行連接,并更新數(shù)據(jù)源。DataTable對象表示保存在本機內(nèi)存中的表,它提供了對表中行列數(shù)據(jù)對象的各種操作。可以直接將數(shù)據(jù)從數(shù)據(jù)庫填充到DataTable對象中,也可以將DataTable對象添加到現(xiàn)有的DataSet對象中。在斷開連接的方式下,DataSet對象提供了和關(guān)系數(shù)據(jù)庫一樣的關(guān)系數(shù)據(jù)模型,代碼中可以直接訪問DataSet對象中的DataTable對象,也可以添加、刪除DataTable對象。
1. 創(chuàng)建DataTable對象
可以通過以下兩種方式創(chuàng)建DataTable對象:
1) 通過DataTable類的構(gòu)造函數(shù)創(chuàng)建DataTable對象,例如:
DataTable table = new DataTable();
2) 通過DataSet的Tables對象的Add方法創(chuàng)建DataTable對象,例如:
DataSet dataset = new DataSet();
DataTable table = dataset.Tables.Add("MyTableName");
2. 在DataTable對象中添加列
在DataTable對象中添加列的最常用的方法是通過DataTable對象的Column屬性中的Add方法。添加后的每一列都是一個DataColumn對象。
3. 設(shè)置DataTable對象的主鍵
關(guān)系數(shù)據(jù)庫中的表一般都有一個主鍵,用來惟一標識表中的每一行記錄。通過DataTable對象的PrimaryKey屬性可以設(shè)置Datatable的主鍵。主鍵可以是一個或者多個DataColumn對象組成的數(shù)組。例如:
DataColumn[] key = new DataColumn[1];//dt是一個DataTable對象
key[0] = dt.Columns[0];
dt.PrimaryKey = key;
4. 在DataTable對象中創(chuàng)建行
DataTable對象的每一行都是一個DataRow對象,所以創(chuàng)建行時可以先利用DataTable對象的NewRow方法創(chuàng)建一個DataRow對象,并設(shè)置新行中各列的數(shù)據(jù),然后利用Add方法將DataRow對象添加到表中
5. 將SQL Server數(shù)據(jù)庫中的表填充到DataTable中
除了可以直接創(chuàng)建DataTable對象的行列信息外,也可以通過DateAdapter對象的Fill方法將SQL Server數(shù)據(jù)庫中的表填充到DataTable對象中。
五、DataSet對象
1. 創(chuàng)建DataSet對象
使用創(chuàng)建的DataSet對象可以完成各種數(shù)據(jù)操作,利用向?qū)傻臄?shù)據(jù)庫數(shù)據(jù)源是一個強類型的DataSet以及一對或多對強類型的DataTable和TableAdapter的組合。類型化的DataSet是一個生成的類,是從.NET Framework的一般DataSet類衍生來的,但提供了已定義的架構(gòu)以及特定于該架構(gòu)的屬性和方法。同時,對于DataSet中的每個表,還生成了特定于該DataSet的附加衍生類,而且每個類都為相關(guān)的表提供了特定的架構(gòu)、屬性和方法。
當然,也可以直接創(chuàng)建一般的DataSet對象,例如:
DataSet myDataset = new DataSet();
2. 填充DataSet對象
創(chuàng)建DataSet后,就可以使用SqlDataAdapter對象把數(shù)據(jù)導入到DataSet對象中,比如通過Fill方法將數(shù)據(jù)填充到DataSet中的某個表中。
分享:使用ASP.NET內(nèi)置類生成圖片縮略圖及水印ASP.NETImageGeneration內(nèi)置了ImageResizeTransform類,可以實現(xiàn)圖片大小調(diào)整功能。也可以擴展ImageTransform實現(xiàn)自己的圖片變換類。 下面使用ASP.NETImageGeneration生成圖片縮略圖及水印的代碼。 數(shù)據(jù)庫: CREATETABLEt_images ( image_idINT, image_dataIM
相關(guān).Net教程:
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實例(可帶附件)
- js實現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進度條的實現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現(xiàn)分頁示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- 用Java發(fā)送圖文并茂的HTML郵件
- GridView顯示服務(wù)器圖片(保存為圖片路徑)
- ajax.net對數(shù)據(jù)庫的插入實例
- Json數(shù)據(jù)轉(zhuǎn)換list對象實現(xiàn)思路及代碼
- .net中string無重復數(shù)字的實現(xiàn)方法
- ASP.NET站點RSS功能實現(xiàn)方法
- asp.net中“從客戶端中檢測到有潛在危險的Request.Form值”的錯誤
- 揭秘5種ASP.NET頁面間傳遞參數(shù)實例代碼
- 項目調(diào)試時出現(xiàn)用到的一個組件“訪問被拒絕”的解決方法
- 談?wù)凥tmlControl與WebControl的區(qū)別與用途
- 相關(guān)鏈接:
- 教程說明:
.Net教程-解析五種ADO.NET數(shù)據(jù)庫連接知識
。