作成したテーブルにアクセス

作成したテーブルにアクセスするプログラムを試しに作成してみました。行挿入ボタンをクリックすると、電話帳テーブルに行が挿入され、行表示ボタンをクリックすると、電話帳テーブルの行を表示します。

  • プログラムを起動します。



  • 左側のテキストボックスにデータを入力し、[行挿入]ボタンをクリックします。


(テーブルに行が挿入されます。)

  • [行表示]ボタンをクリックします。



(右側のテキストボックスに行が表示されます。)


行挿入ボタンのプログラム

private void button1_Click(object sender, EventArgs e)
{
    // テキストボックスの文字列取得
    string name = textBox1.Text;    // 名前
    string mail = textBox2.Text;    // メールアドレス
    string number = textBox3.Text;  // 電話番号

    // SQL文編集
    string item = "'" + name + "', " +  "'" + mail + "', " +  "'" + number + "'";
    string str_sql = "INSERT INTO 電話帳テーブル ([名前], [メールアドレス], [電話番号]) Values(" + item + ")";

    SqlCeConnection conn = null;
    try
    {
        // データベースに接続
        conn = new SqlCeConnection("Data Source = dbfile1.sdf; Password ='password1'");
        conn.Open();

        // SQL文設定
        SqlCeCommand cmd = conn.CreateCommand();
        cmd.CommandText = str_sql;

        // SQL文実行
        cmd.ExecuteNonQuery();

        cmd.Dispose();
    }
    finally
    {
        // 接続を閉じる
        conn.Close();
    }
}

行表示ボタンのプログラム

private void button2_Click(object sender, EventArgs e)
{
    // テキストボックスの文字列取得
    string name = textBox1.Text;    // 名前
    string mail = textBox2.Text;    // メールアドレス
    string number = textBox3.Text;  // 電話番号

    // SQL文編集
    string str_sql = "SELECT * FROM 電話帳テーブル";

    SqlCeConnection conn = null;
    try
    {
        // データベースに接続
        conn = new SqlCeConnection("Data Source = dbfile1.sdf; Password ='password1'");
        conn.Open();

        // SQL文設定
        SqlCeCommand cmd = conn.CreateCommand();
        cmd.CommandText = str_sql;

        // SQL文実行
        SqlCeDataReader scdr = cmd.ExecuteReader();

        // 結果を読み込んでテキストボックスに表示
        while (scdr.Read())
        {
            textBox4.Text = scdr.GetString(0);   // 名前
            textBox5.Text = scdr.GetString(1);   // メールアドレス
            textBox6.Text = scdr.GetString(2);   // 電話番号
        }

        scdr.Close();
        cmd.Dispose();
    }
    finally
    {
        // 接続を閉じる
        conn.Close();
    }
}

なお、上記プログラムにおいては「using System.Data.SqlServerCe」が必要です。