MENU

C# SQL Serverに接続してUPDATE・INSERT・DELETE文を直接実行する

C#を使用してデータベース操作を行う際、SQL Serverは広く使用されているデータベース管理システムの一つです。特に、データの更新(UPDATE)、挿入(INSERT)、削除(DELETE)といった基本的な操作は、多くのアプリケーションで必要不可欠です。この記事では、C#からSQL Serverに接続し、これらの操作を直接実行する方法を、初心者にも分かりやすく解説します。

目次

SQL Serverへの接続と基本的な操作

C#でSQL Serverに接続し、UPDATE、INSERT、DELETE文を実行するための基本的な手順は以下の通りです:

  1. 接続文字列の準備
  2. データベース接続の確立
  3. SQLコマンドの作成
  4. SQLの実行
  5. 結果の確認

以下に、これらの手順を実装した基本的なコード例を示します:

using System;
using System.Data.SqlClient;

class Program
{
    static void Main()
    {
        string connectionString = "Data Source=YourServerName;Initial Catalog=YourDatabaseName;User ID=YourUsername;Password=YourPassword;";

        try
        {
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();
                Console.WriteLine("データベースに接続しました。");

                // INSERT文の例
                string insertSql = "INSERT INTO Employees (FirstName, LastName) VALUES (@FirstName, @LastName)";
                using (SqlCommand insertCommand = new SqlCommand(insertSql, connection))
                {
                    insertCommand.Parameters.AddWithValue("@FirstName", "John");
                    insertCommand.Parameters.AddWithValue("@LastName", "Doe");
                    int insertedRows = insertCommand.ExecuteNonQuery();
                    Console.WriteLine($"{insertedRows}行挿入されました。");
                }

                // UPDATE文の例
                string updateSql = "UPDATE Employees SET FirstName = @NewFirstName WHERE LastName = @LastName";
                using (SqlCommand updateCommand = new SqlCommand(updateSql, connection))
                {
                    updateCommand.Parameters.AddWithValue("@NewFirstName", "Jane");
                    updateCommand.Parameters.AddWithValue("@LastName", "Doe");
                    int updatedRows = updateCommand.ExecuteNonQuery();
                    Console.WriteLine($"{updatedRows}行更新されました。");
                }

                // DELETE文の例
                string deleteSql = "DELETE FROM Employees WHERE LastName = @LastName";
                using (SqlCommand deleteCommand = new SqlCommand(deleteSql, connection))
                {
                    deleteCommand.Parameters.AddWithValue("@LastName", "Doe");
                    int deletedRows = deleteCommand.ExecuteNonQuery();
                    Console.WriteLine($"{deletedRows}行削除されました。");
                }
            }
        }
        catch (SqlException e)
        {
            Console.WriteLine("SQLエラー: " + e.Message);
        }
        catch (Exception e)
        {
            Console.WriteLine("エラー: " + e.Message);
        }
    }
}

コードの解説

  1. 接続文字列: SQL Serverに接続するための情報を含む文字列です。実際の環境に合わせて変更してください。
  2. SqlConnectionusingステートメントで囲むことで、接続が自動的にクローズされます。
  3. SqlCommand: 各SQL文(INSERT、UPDATE、DELETE)に対して別々のSqlCommandオブジェクトを作成します。
  4. パラメータの使用: SQL文にパラメータを使用することで、SQLインジェクション攻撃を防ぎます。
  5. ExecuteNonQuery(): INSERT、UPDATE、DELETEなどの結果セットを返さないSQL文を実行するために使用します。
  6. 影響を受けた行数ExecuteNonQuery()メソッドは、影響を受けた行数を返します。

注意点

  • 実際のアプリケーションでは、接続文字列を設定ファイルなどで管理することをおすすめします。
  • 大量のデータを扱う場合は、バッチ処理や一括操作の使用を検討してください。
  • トランザクションを使用することで、複数の操作をまとめて実行し、データの一貫性を保つことができます。

まとめ

C#でSQL Serverに接続してUPDATE、INSERT、DELETE文を直接実行する基本的な手順は以下の通りです:

  1. 適切な接続文字列を準備する
  2. SqlConnectionオブジェクトを作成し、接続を開く
  3. 各操作に対してSqlCommandオブジェクトを作成する
  4. パラメータを使用してSQL文を安全に構築する
  5. ExecuteNonQuery()メソッドを使用してSQL文を実行する
  6. 影響を受けた行数を確認する

これらの基本的な操作を理解し、適切に実装することで、C#アプリケーションからSQL Serverデータベースを効果的に操作できるようになります。データの挿入、更新、削除といった基本的なCRUD操作を通じて、より複雑なデータベース処理の基礎を築くことができるでしょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次