我正在尝试将文本框中的数据输入到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();
答案 0 :(得分: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();
答案 1 :(得分:2)
尝试将一些静态值传递给您的查询。
第二件事是尝试转换textbox.Text
toString()
。确保文本框标记中包含runat="server"
,并检查您是否在代码中的任何位置设置值为“”。