maemaewaterの日記

エンジニア兼ゲーマーの人の日記です。PHP/Python/JavaScript/C#/C++などによるプログラムに関することを主に書いています。

SQL Server ExpressのLocalDB

SQL Server ExpressにLocalDBというローカルファイルを参照するタイプのデータベースが利用できる機能があります。
この機能の使い方についてのまとめです。

  1. プロジェクト作成。C#のプロジェクトを新しく作成します。
  2. LocalDBの作成。Visual Studioのソリューションエクスプローラーでプロジェクト名を右クリックして、"追加">"新しい項目"を選び、"サービス ベースのデータベース"を選びます(ファイル名はDatabase1.mdf)。その後は、データセットを選択して"次へ"で進みます。
  3. データベースにテーブルの追加。ソリューションエクスプローラーのDatabase1.mdfをダブルクリックするとデータベースエクスプローラーが開くので、ここからテーブルを作成します。ここでは、testという名前でIdとContentというカラムを追加しています。
  4. LocalDBに接続するプログラムは次の通りです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;

namespace DataTest
{
    class Program
    {
        static void Main(string[] args)
        {
            using (SqlConnection connection = new SqlConnection("Server=(LocalDb)\\v11.0;Integrated Security=True;AttachDbFileName=[Database1.mdfへのパス]"))
            {

                SqlCommand command = new SqlCommand("SELECT Id, Content FROM test", connection);
                connection.Open();

                SqlDataReader reader = command.ExecuteReader();
                try
                {
                    while (reader.Read())
                    {
                        Console.WriteLine("{0}:{1}", reader["id"], reader["Content"]);
                    }
                }
                finally
                {
                    connection.Close();
                }
            }
        }
    }
}

参考にさせていただいたページ: