Connection
-
Connection概述
SqlConnection 類中提供的常用屬性和方法如下表所示:
屬性或方法 | 說明 |
---|---|
SqlConnection() | 無參構造方法 |
SqlConnection(string connectionstring) | 帶參數的構造方法,資料庫連接配接字元串作為參數 |
Connectionstring | 屬性,擷取或設定資料庫的連接配接串 |
State | 屬性,擷取目前資料庫的狀态,由枚舉類型 Connectionstate 為其提供值 |
ConnectionTimeout | 屬性,擷取在嘗試連接配接時終止嘗試并生成錯誤之前所等待的時間 |
DataSource | 屬性,擷取要連接配接的 SQL Server 的執行個體名 |
Open() | 方法,打開一個資料庫連接配接 |
Close() | 方法,關閉資料庫連接配接 |
BeginTransaction() | 方法,開始一個資料庫事務 |
-
連接配接資料庫
常用資料庫連結字元串可以參考這個網站:
https://www.connectionstrings.com/
- 方式一
server = 伺服器名稱 / 資料庫的執行個體名 ; uid = 登入名 ; pwd = 密碼 ; database = 資料庫名稱
- server:用于指定要通路資料庫的資料庫執行個體名,伺服器名稱可以換成 IP 位址或者資料庫所在的計算機名稱,如果通路的是本機資料庫,則可以使用“.”來代替,如果使用的是預設的資料庫執行個體名,則可以省略資料庫執行個體名。例如連接配接的是本機的預設資料庫,則可以寫成“server = .”。
- uid:登入到指定 SQL Server 資料庫執行個體的使用者名,相當于以 SQL Server 身份驗證方式登入資料庫時使用的使用者名,例如 sa 使用者。
- pwd:與 uid 使用者對應的密碼。
- database:要通路資料庫執行個體下的資料庫名。
- 方式二
Data Source = 伺服器名稱 \ 資料庫執行個體名 ; Initial Catalog = 資料庫名稱 ; User ID = 使用者名 ; Password = 密碼
- Data Source:與第1種連接配接串寫法中的 server 屬性的寫法一樣,用于指定資料庫所在的伺服器名稱和資料庫執行個體名,如果連接配接的是本機的預設資料庫執行個體,則寫成“Data Source=. ”的形式。
- Initial Catalog:與第 1 種連接配接串寫法中的 database 屬性的寫法一樣,用于指定在 Data Source 中資料庫執行個體下的資料庫名。
- User ID:與第 1 種連接配接串寫法中的 uid 屬性的寫法一樣,用于指定登入資料庫的使用者名。
- Password:與第 1 種連接配接串寫法中的 pwd 屬性的寫法一樣,用于指定 User ID 使用者名所對應的密碼。
測試資料庫連結示例代碼:
ConnectionTimeout預設值為 15 秒,在這期間窗體是假死狀态,可以使用異步或多線程解決問題
private void btnTryConnect_Click(object sender, EventArgs e)
{
string strConn = Properties.Settings.Default.SchoolConn;
using (SqlConnection conn = new SqlConnection(strConn))
{
try
{
conn.Open();
MessageBox.Show("資料庫連接配接成功!");
}
catch (Exception)
{
MessageBox.Show("資料庫連接配接失敗!");
}
}
}
** 記憶 **
- 把資料庫想象成武器庫
- Data Source是武器庫位址;
- Initial Catalog是武器庫倉庫具體名稱;
- User ID, Password 使用者名和密碼是倉庫管理者的姓名和鑰匙
- 另外一個比較重要的是:ConnectionTimeout,可以想象打開門需要有時間限制,逾時則爆炸,小心被炸死;