2

テキストボックスから SQL データベースにデータを入力しようとしていますが、そうすると、null フィールドしか挿入されません。

ここに私のコード:

 sqlCommand = new SqlCommand("INSERT INTO Department (Description, Comments, Permissions, Active, Production) VALUES (@description, @comments, @permissions, @active, @production)", sqlConnection);

 sqlCommand.Parameters.Add("@description", SqlDbType.NVarChar, 50);
 sqlCommand.Parameters.Add("@comments", SqlDbType.NVarChar, 50);
 sqlCommand.Parameters.Add("@permissions", SqlDbType.NVarChar, 50);
 sqlCommand.Parameters.Add("@active", SqlDbType.Int);
 sqlCommand.Parameters.Add("@production", SqlDbType.Int);

 sqlCommand.Parameters.AddWithValue("@description", txtDescription.Text);
 sqlCommand.Parameters.AddWithValue("@comments", txtComments.Text);
 sqlCommand.Parameters.AddWithValue("@permissions", txtPermissions.Text);
 sqlCommand.Parameters.AddWithValue("@active", Convert.ToString(Convert.ToUInt32(chkActif.Checked)));
 sqlCommand.Parameters.AddWithValue("@production", Convert.ToString(Convert.ToUInt32(chkProduction.Checked)));
 sqlCommand.ExecuteNonQuery();
4

2 に答える 2

7

パラメータを2回追加しています!コードをに変更します。

sqlCommand = new SqlCommand("INSERT INTO Department (Description, Comments, Permissions, Active, Production) VALUES (@description, @comments, @permissions, @active, @production)", sqlConnection);

                sqlCommand.Parameters.AddWithValue("@description", txtDescription.Text);
                sqlCommand.Parameters.AddWithValue("@comments", txtComments.Text);
                sqlCommand.Parameters.AddWithValue("@permissions", txtPermissions.Text);
                sqlCommand.Parameters.AddWithValue("@active", Convert.ToString(Convert.ToUInt32(chkActif.Checked)));
                sqlCommand.Parameters.AddWithValue("@production", Convert.ToString(Convert.ToUInt32(chkProduction.Checked)));
                sqlCommand.ExecuteNonQuery();
于 2013-01-11T20:26:57.313 に答える
2

いくつかの静的な値をクエリに渡してみてください。

次に、変換してみてくださいtextbox.Text toString()。テキストボックスタグに含まれていることを確認runat="server"し、コードのどこにも値を "" に設定していないことを確認してください。

于 2013-01-11T21:43:02.000 に答える