MENU

C# SQLを実行する(SQLServer)

C#でデータベース操作を行う際、SQL Serverは広く使用されているデータベース管理システムの一つです。アプリケーションからSQL Serverに接続し、SQLクエリを実行することは、多くの開発プロジェクトで必要不可欠なスキルです。この記事では、C#を使用してSQL ServerでSQLを実行する基本的な方法を、初心者にも分かりやすく解説します。

目次

SQL Serverへの接続とSQLの実行

C#でSQL Serverに接続し、SQLを実行するには、主に以下の手順が必要です:

  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;";

        // SQLクエリ
        string sql = "SELECT TOP 5 * FROM YourTableName";

        try
        {
            // SqlConnectionオブジェクトの作成
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                // 接続を開く
                connection.Open();
                Console.WriteLine("データベースに接続しました。");

                // SqlCommandオブジェクトの作成
                using (SqlCommand command = new SqlCommand(sql, connection))
                {
                    // SQLの実行と結果の読み取り
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        // 結果の処理
                        while (reader.Read())
                        {
                            // 例:最初の列を表示
                            Console.WriteLine(reader[0].ToString());
                        }
                    }
                }
            }
        }
        catch (SqlException e)
        {
            Console.WriteLine("SQLエラー: " + e.Message);
        }
        catch (Exception e)
        {
            Console.WriteLine("エラー: " + e.Message);
        }
    }
}

コードの解説

  1. 接続文字列: SQL Serverに接続するために必要な情報を含む文字列です。サーバー名、データベース名、認証情報などを指定します。
  2. SqlConnection: データベースへの接続を表すオブジェクトです。usingステートメントで囲むことで、使用後に確実に接続が閉じられます。
  3. SqlCommand: 実行するSQLコマンドを表すオブジェクトです。SQLクエリと接続オブジェクトを指定して作成します。
  4. SqlDataReader: SQLクエリの結果を読み取るためのオブジェクトです。ExecuteReader()メソッドで取得します。
  5. 結果の処理while (reader.Read()) ループを使用して、結果セットの各行を順に処理します。

注意点

  • 接続文字列に機密情報(パスワードなど)を直接記述するのは避け、設定ファイルなどで管理することをおすすめします。
  • 大量のデータを扱う場合は、ページングや非同期処理の使用を検討してください。
  • ユーザー入力を直接SQLクエリに組み込むのは危険です。SQLインジェクション攻撃を防ぐため、パラメータ化クエリを使用しましょう。

まとめ

C#でSQL ServerにSQLを実行する基本的な手順は以下の通りです:

  1. 適切な接続文字列を準備する
  2. SqlConnectionオブジェクトを作成し、接続を開く
  3. SqlCommandオブジェクトを使用してSQLを実行する
  4. 必要に応じて結果を処理する
  5. リソースを適切に解放する(usingステートメントの使用)

これらの手順を理解し、適切に実装することで、C#アプリケーションからSQL Serverデータベースを効果的に操作できるようになります。データの取得、更新、挿入、削除など、様々なデータベース操作に応用できるでしょう。

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

コメント

コメントする

目次