データベースから情報の取得・更新・削除 visual studio2005 sqlserver2005 c#


データグリッドへの新レコードの追加です。

下記ソースで、ExecuteNonQuery();の部分で「@userid付近に不適切な構文があります。」とのエラーが出
てきてしまいます。なぜエラーが出るのか分かりません。

以上宜しくお願いします。

皆さんのお力をおかしください(__)

string StrConn = @" server = ***\SQL2005 ; " + " database =ser_master ; " + " uid = sa ; " + " pwd = *** ; ";
SqlConnection cnc = new SqlConnection(StrConn);
cnc.Open();

SqlCommand cmd = new SqlCommand("INSERT INTO [user_master]" + " ( UserID ,UserName , Password , Age , Salary , Sex ) VALUES " + " ( @userid , @username, @password, @age, @salary, @sex ", cnc);
cmd.Parameters.AddWithValue("@userid", SqlDbType.VarChar);


cmd.Parameters.AddWithValue("@userid", textBox1.Text);

cmd.Parameters.AddWithValue("@username", textBox2.Text);

cmd.Parameters.AddWithValue("@password", textBox3.Text);

cmd.Parameters.AddWithValue("@age", textBox4.Text);

cmd.Parameters.AddWithValue("@salary", textBox6.Text);

cmd.Parameters.AddWithValue("@sex", comboBox1.SelectedValue);

cmd.ExecuteNonQuery();

cnc.Close();

回答の条件
  • 1人2回まで
  • 登録:2008/06/05 23:50:02
  • 終了:2008/06/07 20:31:21

回答(1件)

id:ken33jp No.1

ken33jp回答回数928ベストアンサー獲得回数132008/06/06 00:04:49

ポイント60pt

" ( @userid , @username, @password, @age, @salary, @sex )", cnc);

@sexの後ろに)が抜けてるだけでは?

SQLとして文法的に間違ってるんじゃないかな。

id:ttt_kanegon

ken33jpさん ありがとうございました。

上記内容で、executeできました!!謝謝。

分からないことだらけなので、煮詰まってくると ) も忘れてしまいますね。

文法的にも、問題なかったようです。だた、もっといいやり方が

あるのでしょうけど、今後勉強していきたいと思います。

次なる問題の、「DBの更新」処理があるので、

今後とも宜しくお願いします。

2008/06/06 10:46:37

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません