我有一个网页,可以在数据库中生成事件报告。事故报告与使用车牌的车牌相关联。
当我点击提交按钮时,我在DAL中看到一条错误,其中包含"其他信息:无法将值NULL插入列' CarID',table' RideXpress.dbo。 IncidentReport&#39 ;;列不允许空值。 INSERT失败。"
相关的aspx代码如下
.*
文件背后的相关代码如下
<asp:DropDownList ID="DD1" runat="server" CssClass="form-control" AutoPostBack="true" ></asp:DropDownList>
和DAL,其中引发错误
string connectionString = ConfigurationManager.ConnectionStrings["RideXpressConnectionString"].ToString();
ReportBLL ReportBL = new ReportBLL(connectionString);
ReportViewModel report = new ReportViewModel();
int ID = DD1.SelectedIndex;
report.CarID = ID;
report.DateOfIncident = Convert.ToDateTime(Date.Text);
report.ReportName = Name.Text;
report.ReportDescription = Description.Text;
report.DateOfReport = DateTime.Today;
ReportBL.AddReport(report);
Response.Redirect("~/Reports.aspx");
非常感谢任何帮助。
答案 0 :(得分:0)
将查询更改为
string sqlQuery = "INSERT INTO IncidentReport(CarID,DateOfIncident, ReportName, ReportDescription, DateOfReport)" +
"Values (@CarID,@DateOfIncident, @ReportName, @ReportDescription, @DateOfReport)";
此外,ReportId不在查询中,因此它不会被设置,或者将其添加到查询中,就像我上面的carID一样,或者如果它是身份自动增量,则根本不设置它。