C# で SQL データベースに接続する
Fil Zjazel Romaeus Villegas
2023年10月12日
このチュートリアルでは、SqlConnection
オブジェクトを使用して C# で SQL データベースに接続する方法を示します。
C# で SQL データベースに接続するには SqlConnection
オブジェクトを使う
SqlConnection
クラスは、渡された接続文字列で指定された SQL Server データベースへの接続を表すオブジェクトです。これは、名前空間 System.Data.SqlClient
に含まれています。
SqlConnection connection = new SqlConnection(connectionString);
接続文字列には、データソース、データソースへの接続方法、および接続構成の詳細に関する情報が含まれています。接続文字列にはさまざまなパラメータを含めることができますが、最も一般的に使用されるパラメータのいくつかについて説明します。
Server
/Data Source
:データベースを保持しているサーバーの名前。Database
/Initial Catalog
:これはデータベースの名前です。Trusted Connection
/Integrated Security
:アプリケーションがシステムで利用可能なセキュリティパッケージを使用できるかどうかを指定します。これが true に設定されている場合、ユーザーID とパスワードのパラメーターは必要ありません。User ID
:接続のユーザー名。Password
:接続に使用するパスワード。
接続文字列を 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