ado.net數據庫訪問技術
來源:易賢網 閱讀:97244 次 日期:2016-11-15 14:46:52
溫馨提示:易賢網小編為您整理了“ado.net數據庫訪問技術”,方便廣大網友查閱!


(1). 首先添加命名空間system.data.sqlclient;

(2). 定義數據庫連接字符串:

第一種方法:直接把數據庫連接字符串存放在字符串對象中,如上代碼所示;

第二種方法web:將數據庫連接信息存放在web.config配置文件中,然后通過使用configurationstringsettings類進行調用。來個例子說明一下:

(a). 首先,在web.config配置文件的部分定義數據庫連接信息:


(b). 在項目文件中,添加對configuration的引用,在頭部添加using system.configuration。然后定義數據庫連接字符串為:

 


備注:必須添加對system.configuration程序集的引用,才能解析上述代碼中使用的configurationmanager類。

2. 創(chuàng)建數據庫連接
1)創(chuàng)建connection對象:

2)打開數據庫: conn.open(); 一般情況下,當在.net中使用“稀缺”的資源時,如數據庫連接、窗口或圖形對象,最好確保每個資源在使用完畢后立即關閉。盡管.net的設計人員實現了自動垃圾收集機制,垃圾最終會被回收,但仍需要盡可能早地釋放資源,以避免出現資源匱乏的情況。 當編寫訪問數據庫的代碼時,因為使連接打開的時間略長于需要的時間,就可能影響其他會話。在極端的情況下,不關閉連接可能會使其他用戶無法進入一整組數據表,極大地降低應用程序的性能。主要有兩種方式可以確保數據庫連接等類似的“稀缺”資源在使用完后立即釋放。這兩種方式如下: (1)第一種方式:采用try...catch...finally語句塊 確保在finally中關閉任何已打開的連接。


在給定的方法中可能會打開許多資源,這樣try...catch...finally塊的層次有時候不容易看清。還有一種方式可以確保資源的關閉——using語句。 (2)使用using語句塊


無論塊是如何退出的,using子句都會確保關閉數據庫連接。 

 
3. 創(chuàng)建數據庫操作命令:


connection對象與數據源建立連接后,使用command對象對數據源執(zhí)行查詢、插入、修改和刪除等操作。

(1) 創(chuàng)建sql數據庫操作命令: sqlquery查詢語句具體規(guī)則請詳見我的系列文章:【讀書筆記】sql server查詢語句_鄧智容 (2) 創(chuàng)建command對象:

(a). 方法一:

 

(b). 方法二:

備注: 1). sql查詢語句若含有c#程序的變量并以字符串形式連接,則應注意數據為非數字的變量應用單引號括起來; 2). 在sql查詢語句中使用參數化查詢語句的話,譬如:

當需要給該參數賦值時,可以使用command對象建立參數對象,然后再賦值:

 

備注: 在.net framework 2.0中sqlclient增加了addwithvalue(string parametername, object value)方法。該方法簡化了調用儲存過程的輸入參數過程,在運行時對所輸入的數據類型進行判斷,獲取對應的數據庫類型。 因此該方法在運行效率上比用 add(string parametername, sqldbtype sqldbtype, int size, string sourcecolumn)方法要低。 在效率要求較高的地方仍然建議使用add()方法,其它場合可以使用addwithvalue()簡化代碼編寫量。

 
4. 執(zhí)行sqlquery命令:


定義好命令后,就需要執(zhí)行它。執(zhí)行的語句有多種方式,這取決于要從命令中返回什么數據。command類提供了下述可執(zhí)行的命令: (1) executenonquery() —— 執(zhí)行命令,但不返回任何結果。一般用于update、insert或delete語句中,其中唯一的返回值是受影響的記錄個數。但如果調用帶有輸出參數的存儲過程,該方法就有返回值。 (2) executereader() —— 執(zhí)行命令,返回一個類型化的idatareader。是從數據源中選擇某些數據的最簡單快捷的方法。 (3) executescalar() —— 執(zhí)行命令,返回結果集中的第一行第一列的值。

 
5. 對數據庫操作完畢后關閉數據庫連接:

 

 
三. 離線數據庫訪問


dataadapter對象主要在connection對象和dataset對象之間執(zhí)行數據的傳輸工作,將數據填充到dataset對象中,也可把dataset對象更新后的數據返回到數據源中,也可架構在command對象上,通過commandbuilding對象生成dataadapter的insert、update和delete等sql操作命令。使用dataset和datatable對象訪問數據源后,ado.net會自動離線,在內存中處理數據,如有修改數據的操作,將自動重新連接數據源,更新數據庫。dataset對象、dataadapter對象與數據源之間的關系如下:

dataset <---> dataadapter <---> 數據源
下面是使用dataadapter進行離線數據庫訪問的操作步驟:

1. 創(chuàng)建dataadapter、datatable對象(使用的是sql server數據庫)

 

2. 將數據填充到datatable對象

3. 對datatable中的數據進行處理 tatatable對象的屬性和方法有: 

名稱 屬性/方法 說明
rows.add() 方法 插入新數據行
rows[n].delete() 方法 刪除第n行的記錄
rows.count 屬性 獲取行數
rows[i][columnname] 屬性 獲取第i行、列名為columnname的值
rows[i][j] 屬性 獲取第i行、第j列的值
 
  還有一種數據查詢技術:linq。下回再討論。

通過以上對ado.net數據庫訪問技術的介紹,希望對大家有所幫助。

更多信息請查看技術文章
下一篇:沒有了
易賢網手機網站地址:ado.net數據庫訪問技術

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網