在 C# 上連線到 SQL 資料庫
Fil Zjazel Romaeus Villegas
2023年10月12日
本教程將演示如何使用 SqlConnection
物件連線到 C# 上的 SQL 資料庫。
使用 SqlConnection
物件連線到 C#
上的 SQL 資料庫
SqlConnection
類是一個物件,表示與傳遞的連線字串指定的 SQL Server 資料庫的連線。它包含在名稱空間 System.Data.SqlClient
中。
SqlConnection connection = new SqlConnection(connectionString);
連線字串包含有關資料來源、如何連線到它以及連線配置詳細資訊的資訊。你可以在連線字串中包含許多不同的引數,但我們將討論一些最常用的引數。
Server
/Data Source
:儲存資料庫的伺服器名稱。Database
/Initial Catalog
:這是資料庫的名稱。Trusted Connection
/Integrated Security
:指定應用程式是否可以使用系統上任何可用的安全包。如果設定為 true,則不需要使用者 ID 和密碼引數。使用者 ID
:連線的使用者名稱。密碼
:用於連線的密碼。
將連線字串傳遞給 SqlConnection
物件後,你可以使用其方法管理連線。
Open()
:開啟連線。Close()
:關閉連線。Dispose()
:釋放連線使用的資源。ChangeDatabase()
:為開啟的SqlConnection
更改當前資料庫。
例子:
using System;
using System.Data.SqlClient;
namespace SQLConnection_Sample {
class Program {
static void Main(string[] args) {
// The server's name that holds the database
string DataSource = "MSI\\SQLEXPRESS";
// The name of the database
string InitialCatalog = "SampleDB";
// Sets if the connection should use integrated security.
// If this value is set to "SSPI", the user's Windows Authentication will be used
string IntegratedSecurity = "SSPI";
// Should the database require a specific log in
string UserID = "";
string Password = "";
string connectionString = "Data Source =" + DataSource +
"; Initial Catalog =" + InitialCatalog +
"; Integrated Security=" + IntegratedSecurity
//+ "; User ID=" + UserID
//+ "; Password=" + Password
;
try {
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
Console.WriteLine("The database has been opened!");
Console.WriteLine("Connection State: " + connection.State.ToString());
connection.Close();
Console.WriteLine("The database has been closed!");
connection.Dispose();
Console.WriteLine("The database connection has been disposed!");
Console.WriteLine("Connection State: " + connection.State.ToString());
} catch (Exception ex) {
Console.WriteLine("There's an error connecting to the database!\n" + ex.Message);
}
Console.ReadLine();
}
}
}
在上面的示例中,我們首先通過輸入伺服器、資料庫名稱和整合的安全引數來建立連線字串。將其傳遞給 SqlConnection
物件後,我們通過開啟、關閉和最後釋放連線來演示不同的狀態。
所有這些都列印在控制檯中。
輸出:
The database has been opened!
Connection State: Open
The database has been closed!
The database connection has been disposed!
Connection State: Closed