ここから本文です

VisualC#でデータベースへレコードを挿入するにはどうすればいいのでしょうか?

arc********さん

2011/3/2422:04:41

VisualC#でデータベースへレコードを挿入するにはどうすればいいのでしょうか?

最近C#の勉強を始めました。
ここまではそれなりに順調に来れたのですがデータベースへのレコード挿入の仕方が全くわからず行き詰ってしまいました。
フォームに表示されたボタンをクリックするとテキストボックスに表示されている数値をテーブルへ挿入したいのですがどうすればいいのか全くわかりません。
何かヒントだけでも教えていただけないでしょうか?

よろしくお願い致します。

補足情報が足りず申し訳ありませんでした。

早速ですが補足です

データベースへの接続はできています。
SQL Serverだと思います。拡張子は.sdfです。

まだ何か足りない情報があれば言っていただけると幸いです。

閲覧数:
318
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

テッテさん

編集あり2011/3/2500:18:05

これだけでは誰も答えられないでしょう。
本当に回答が欲しいなら、もう少し情報を補足してください。

■どこまでできているか?

挿入ができないということなので、
データベースへの接続はもうできていて、
挿入だけができないのでしょうか?


■データベースの種類と接続の方法

データベースの種類(DBMS)は何?

----- 補足 -----
sdf ということは、SQL Server Compact ですね。

以下のような流れになります。

using (SqlCeConnection conn = new SqlCeConnection("Data Source = MyDatabase.sdf; Password ='<pwd>'"))
{
// 接続
conn.Open();

// コマンド作成
SqlCeCommand cmd1 = conn.CreateCommand();
cmd1.CommandText = "ここに INSERT の SQL を記述する";

// コマンド実行
cmd1.ExecuteNonQuery();

}

テキストボックスの中身を INSERT したいということなら、
INSERT 文を組み立てるときに、その TextBox の Text を使って
動的にSQLを組み立てるのが簡単です。
勉強なら以下でもOKでしょう。

cmd1.CommandText = "INSERT INTO テーブル名 VALUES (" + TextBox1.Text ")";

ただし、これだと SQL インジェクションの恐れがありますので、
通常は以下のように、パラメータクエリを使います。

cmd1.CommandText = "INSERT INTO テーブル名 VALUES (@Value)";
SqlCeParameter param = new SqlCeParameter("@Value", SqlDbType.Int);
param.Value = TextBox1.Text;
cmd1.Parameters.Add(param);

cmd1.ExecuteNonQuery();

この回答は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる