SQL Server Compact Editionを使ってみます。
まず、サーバーエクスプローラウィンドウを表示し、サーバーノードを展開し、「データ接続」を選択します。
「データ接続」を選択し、右クリックをしポップアップメニューを表示させます。ポップアップメニューの「接続の追加」メニューをクリックします。
「データソースの選択」ダイアログが表示されます。
データソースを「Microsoft SQL Server Compact 3.5」にし、データプロバイダを「.NET Framework Microsoft SQL Server Compact 3.5 用データ プロバイダー」にします。
「続行」ボタンをクリックすると「接続の追加」ダイアログが表示されます。「接続のプロパティ」グループ内の「データベース」の「作成」ボタンをクリックします。
「SQL Server Compact データベースの新規作成」ダイアログが表示されます。
データベースファイル名を「新しいSQL Server Compact データベースのファイル名の入力」のテキストボックスに入力します。また、照合は「日本語 - 日本」に設定しました。データベースのパスワードも入力します。すべて入力できましたら「OK」ボタンをクリックします。
「SQL Server Compact データベースの新規作成」ダイアログが閉じ、「接続の追加」ダイアログに戻りますので、「パスワード」テキストボックスにデータベースを作成した際に入力したパスワードを入力します。「テスト接続」ボタンをクリックし、正しく接続ができていることを確認したならば、「OK」ボタンをクリックします。
続いてテーブルの作成をします。「データ接続」ノードの下に作成した接続のノード(今回は"SQL Compact.sdf")が作成されますので、ノードを展開し「テーブル」を選択し右クリックでポップアップメニューを表示させ。「テーブルの作成」メニューを選択します。
テーブル作成画面が表示されますので、テーブルを設計します。テーブル名はgoodsとしました。今回はid,name,priceの3つの列を用意しました。idはint型でNULLを許容せず、主キーの設定にし、IDをtrueに設定しました。(下図参照)
nameはnvarchar型、priceはint型にしました。
設定を終えたら「OK」ボタンをクリックします。
続いてデータの入力をします。「テーブル」ノードの下に作成したテーブルのアイテムが表示されますので、これを選択し、ポップアップメニューの「テーブルデータの表示」メニューを選択します。
テーブルのデータが表示されます。作成したばかりなのでまだ空です。
テーブルデータを入力します。
データベースにアクセスするプログラムを作成します。
フォームにテキストボックスとボタンを配置します。
ボタンのOnClickイベントに以下のコードを記述します。接続文字列のData Source部分はsdfファイルを配置したパスを設定します。
private void button1_Click(object sender, EventArgs e)
{
string constr = @"Data Source='C:\Users\HenoHenoMoheji\Documents\SQLCompact.sdf';
Persist Security Info=True; Password=test";
//SqlCeEngine sce = new SqlCeEngine(constr);
SqlCeConnection con = new SqlCeConnection(constr);
con.Open();
try {
string sqlstr = "select * from goods";
SqlCeCommand com = new SqlCeCommand(sqlstr, con);
SqlCeDataReader sdr = com.ExecuteReader();
while (sdr.Read() == true) {
string name = (string)sdr["name"];
int price = (int)sdr["price"];
textBox1.Text += string.Format("{0:s}:{1:d} \r\n", name, price);
}
}
finally {
}
}
SQL文には、データベースのすべてのレコードを取り出すSQL(select * from goods)を記述しました。