快速上手ADO.NET數據庫運用
#T#經過長時間學習ADO.NET數據庫,在網上也收集了許多資料,看完本文你肯定有不少收獲。首先***個要說的是DBConnection,它的作用是相當于在程序與數據庫服務器之間建立一條的通路,因此缺少了它,那么所有對數據庫的操作都變成空談。在對DBConnection對象進行操作的時候,要注意如下幾點:
設置ConnectionString(連接字符串),這好比選擇路徑的方向,如果方向不對,則無法建立通路。對于不同數據庫,其連接字符串設置也不同,以下列舉說明。ADO.NET數據庫連接字符串:
- SQL Server
- data source=數據庫服務器名;
- initiacatalog=數據庫名;
- user id=連接用戶名;
- password=密碼;
- Access
- Provider=Microsoft.JET.OLEDB.4.0;
- data source=數據庫文件名(指明路徑);
- user id=Admin;Jet OLEDB:Database Password=密碼;
備注:“Jet OLEDB:Database Password=密碼;”這部分是可選的,即如果沒有密碼的話,去掉這部分即可。
調用Open與Close方法,來打開數據庫連接和關閉數據庫連接,由于數據庫連接會出現異常,因此要用TRY-CATCH來進行捕獲。通過State屬性來查看當前數據庫連接的狀態。例如:假如在一段時間內不操作數據庫,數據庫連接很有可能會被系統關閉,因此在每次數據庫操作的時候,***先判斷一下數據庫連接的State屬性,例如在SQL Server中可以如下:
- if(sqlConn.State==ConnectionState.Closed||sqlConn.State==ConnectionState.Broken)
- //Connection is not available
- return false;
- else
- //Connection is available
- return true;
當ADO.NET數據庫 可以連接是通的情況下,再進行數據庫操作。接下來就要說說DBCommand這個類,所有對數據庫的操作都是通過它進行完成的。如果把DBConnection比作通路的話,那么 DBCommand就是在這條通路上來回跑動的車輛。缺少了它,在程序中所有對數據庫的操作無法傳遞給ADO.NET數據庫服務器端。因此可以說,DBConnection和DBCommand組成ADO.NET的基礎。在對DBCommand對象進行操作的時候,需要注意如下幾點。
設置CommandText和CommandType屬性,一般情況下是不需要設置CommandType屬性,但是如果執行存儲過程,則需要設置CommandType屬性為StoredProcedure.建議多使用參數,而減少字符串的拼接,這樣一是可以減少程序書寫錯誤,而可以避免語句蛀蟲。參數的使用可以如下:
- SqlCommand myComm = new SqlCommand();
- myComm.CommandText = “SELECT * FROM UserInfo WHERE UserName = @UserName ”;
- myComm.Parameters.Add( “@UserName”, yourValue );
區分ExecuteNonQuery方法和ExecuteReader方法,前者是主要是處理非查詢類型的語句,返回的個數是受影響的個數,但其對“INSERT”語句是不起任何作用的;而后者主要是處理查詢語句,但是需要借助DataReader來輔助操作。***不要忘了在用完后,調用Dispose方法對DBCommand對象進行釋放。