數據庫應用程序的開發流程一般主要分為以下幾個步驟:
- 創建數據庫
- 使用Connection對象連接數據庫
- 使用Command對象對數據源執行SQL命令並返回數據
- 使用DataReader和DataSet對象讀取和處理數據源的數據
前面已經學習了如何創建數據庫,現在了解一下關於Connection對象的一些內容。
Connection對象是連接程序和數據庫的“橋梁”,要存取數據源中的數據,首先要建立程序和數據源之間的連接。
而SqlConnection對象是連接SQL Server類型數據源的主要方式,通過相關屬性和方法,實現對連接參數的設置、讀取以及相關連接操作。
創建SqlConnection對象
SqlConnection是對象,就像C#中其它的對象一樣。很多時候,你只需要聲明並實例化SqlConnection,如下所示:
方式一:參數化字符串
SqlConnection con = new SqlConnection( "Data Source=(local);Initial Catalog=Northwind;Integrated Security=SSPI");
方式二:設置連接字符串屬性
SqlConnection con = new SqlConnection();
con.ConnectionString= @“Data Source=(local);Initial Catalog=Northwind;Integrated Security=SSPI”;
上面第一個實例化SqlConnection對象使用了帶一個string類型參數的構造函數。這個參數叫做連接字符串(connection string)。表1描述了連接字符串的通常部分。
表1.ADO.NET連接字符串包括某些鍵/值對來指示如何連接數據庫。它們包括位置、數據庫的名字、和安全認證。
當你在一個獨立的機器上面做開發的時候,集成安全是安全的。然而,你通常希望指明所使用的應用程序的基於SQL Server用戶ID的安全許可。下面顯示的連接字符串使用了User ID和Password參數:
SqlConnection con = new SqlConnection();
con.ConnectionString= @“Data Source=DatabaseServer;Initial Catalog=Northwind;User ID=YourUserID;Password=YourPassword"”;
注:Data Source被設置為DatabaseServer來指示你能夠指明位於不同機器――跨局域網或者Internet――的數據庫。另外,User ID和Password替換調了集成安全參數。
【例】:使用SqlConnection對象連接SQL Server數據庫
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; public partial class Register : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnCon_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(); con.ConnectionString = @"Data Source=.\SQLEXPRESS;database=ShopBookDB;Integrated Security=SSPI;User Instance=True"; con.Open(); try { Response.Write("<script>alert('連接數據庫成功!')</script>"); con.Close(); } catch (Exception) { Response.Write("<script>alert('連接數據庫失敗!')</script>"); con.Close(); } } }
運行結果如下: