【发布时间】:2017-05-08 18:47:42
【问题描述】:
我正在尝试创建一个INSERT INTO 查询,该查询在表中创建一个值为 null 的值;但是,这不起作用。
这是代码:
cmd = new SqlCommand("INSERT INTO Questions ([Student_ID],[Teacher_ID],[Question],[Answer],[Answered]) VALUES (@Student_ID,@Teacher_ID,@Question,@Answer,@Answered)", con);
cmd.Parameters.AddWithValue("@Student_ID", FrmLogIn.User_ID);
cmd.Parameters.AddWithValue("@Teacher_ID", cmboxTeacherChoice.SelectedItem.ToString());
cmd.Parameters.AddWithValue("@Question", tbStudentQuestion.Text);
cmd.Parameters.AddWithValue("@Answer", null);
cmd.Parameters.AddWithValue("@Answered", 0);
当将值放入 cmd.Parameters.AddWithValue("@Answer", null); 而不是 null 时,此代码有效,但我需要此值为 null。在数据库中,这个变量被保存为nvarchar(MAX) 并且允许为空,我做错了什么吗?请告诉我。
感谢任何答案,如果我不清楚,请告诉我,谢谢。
【问题讨论】:
-
您应该查看Can we stop using AddWithValue() already? 并停止使用
.AddWithValue()- 它可能会导致意想不到和令人惊讶的结果... -
如果这个值总是null,你为什么要放入
INSERT,你可以把它从语句中删除,然后不添加相应的参数跨度>
标签: c# sql-server