【C#】SQL操作【初心者向け解説】
SQLとは
SQL(Structured Query Language)は、リレーショナルデータベース管理システム(RDBMS)とやり取りするための言語です。データの検索、挿入、更新、削除を行うために使用されます。C#でSQLを利用することで、アプリケーションから直接データベースにアクセスして、データの操作を効率的に行うことができます。
C#のSQL環境の設定
C#でSQLを使用するためには、まず適切な環境を設定する必要があります。主に、SQL Serverなどのデータベースと通信するために、C#のプロジェクトで「System.Data.SqlClient」ライブラリを使います。
設定手順は以下の通りです:
- Visual Studioを開き、新しいC#プロジェクトを作成します。
- プロジェクトに「System.Data.SqlClient」ライブラリを追加します。
- SQL Serverの接続情報(サーバー名、データベース名、ユーザー名、パスワードなど)を準備します。
これで、C#コードからデータベースに接続できる準備が整います。
SELECTクエリ
SELECT文は、データベースからデータを取得するためのSQL文です。C#では、以下のようにしてSELECTクエリを実行できます:
using System; using System.Data.SqlClient; class Program { static void Main() { string connectionString = "Data Source=server;Initial Catalog=database;User ID=username;Password=password"; string query = "SELECT * FROM Employees"; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand(query, conn); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader["Name"]); } } } }
上記のコードでは、SQL Serverに接続し、`Employees`テーブルから全てのデータを取得しています。
INSERT文
INSERT文は、新しいデータをデータベースに挿入するためのSQL文です。C#でINSERT文を実行するには、以下のようにします:
using System; using System.Data.SqlClient; class Program { static void Main() { string connectionString = "Data Source=server;Initial Catalog=database;User ID=username;Password=password"; string query = "INSERT INTO Employees (Name, Position) VALUES ('John Doe', 'Developer')"; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand(query, conn); int rowsAffected = cmd.ExecuteNonQuery(); Console.WriteLine($"{rowsAffected} 行が追加されました。"); } } }
このコードでは、`Employees`テーブルに新しい従業員の情報を追加しています。
UPDATE文
UPDATE文は、既存のデータを更新するためのSQL文です。C#でUPDATE文を使ってデータを変更するには、以下のコードを使用します:
using System; using System.Data.SqlClient; class Program { static void Main() { string connectionString = "Data Source=server;Initial Catalog=database;User ID=username;Password=password"; string query = "UPDATE Employees SET Position = 'Senior Developer' WHERE Name = 'John Doe'"; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand(query, conn); int rowsAffected = cmd.ExecuteNonQuery(); Console.WriteLine($"{rowsAffected} 行が更新されました。"); } } }
上記のコードでは、`John Doe`という名前の従業員のポジションを「Senior Developer」に更新しています。
DELETE文
DELETE文は、データベースからデータを削除するためのSQL文です。C#でDELETE文を使ってデータを削除する例を以下に示します:
using System; using System.Data.SqlClient; class Program { static void Main() { string connectionString = "Data Source=server;Initial Catalog=database;User ID=username;Password=password"; string query = "DELETE FROM Employees WHERE Name = 'John Doe'"; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand(query, conn); int rowsAffected = cmd.ExecuteNonQuery(); Console.WriteLine($"{rowsAffected} 行が削除されました。"); } } }
このコードは、`John Doe`という名前の従業員を`Employees`テーブルから削除します。
よくあるエラーとその解決方法
C#でSQLを操作する際、いくつかのエラーが発生することがあります。ここでは代表的なエラーとその解決方法を紹介します。
1. 接続エラー
接続エラーが発生する原因としては、接続文字列の誤りや、SQL Serverが起動していない、ネットワークの問題などがあります。接続文字列を再確認し、サーバーが起動していることを確認しましょう。
2. SQL文の構文エラー
SQL文に構文エラーがあると、エラーメッセージが表示されます。特に、テーブル名や列名が間違っていないかを確認することが重要です。
3. データ型の不一致
データ型が一致しない場合(例えば、数値型に文字列を挿入しようとした場合など)エラーが発生します。SQL文に渡すデータ型が正しいことを確認しましょう。
以上が、C#でSQLを利用する際の基本的な操作方法です。SQL文を使ってデータを操作する方法を理解することで、データベースとの連携がより効率的に行えるようになります。