C# SQL插入导致空字段

C# SQL插入导致空字段,c#,asp.net,sql,C#,Asp.net,Sql,我试图将文本框中的数据输入到SQL数据库中,当我这样做时,它只插入空字段 这是我的代码: sqlCommand = new SqlCommand("INSERT INTO Department (Description, Comments, Permissions, Active, Production) VALUES (@description, @comments, @permissions, @active, @production)", sqlConnection); sqlCom

我试图将文本框中的数据输入到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();

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

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();

尝试向查询传递一些静态值


第二件事是尝试将
文本框.Text
转换为字符串()。确保文本框标记中有
runat=“server”
,并检查代码中的任何地方都没有将值设置为“”。

使用其中一种方法,最好使用sqlCommand.Parameters.AddWithValue(),我认为这样更好,我尝试过不使用,仍然不在数据库中输入任何内容在第一个参数处创建断点,然后查看值是否为null?@Brian是的,文本框为null,为什么?null还是空?它们是两种不同的东西。如果为null,那么,是的,这就是要写入DB的内容。empty,为什么我单击按钮时它们会变为空?是的!非常感谢!真的帮了我的忙,我是ASP新手,理解了为什么我的字段在页面加载时被清除,帮助我理解了逻辑