2

我正在尝试将文本框中的数据输入到 SQL 数据库中,当我这样做时,它只是插入空字段。

这是我的代码:

 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

您正在添加参数两次!将您的代码更改为。

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 回答