下拉列表选择的索引返回null

时间:2016-07-07 18:10:54

标签: c# asp.net

我有一个网页,可以在数据库中生成事件报告。事故报告与使用车牌的车牌相关联。

当我点击提交按钮时,我在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");

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

将查询更改为

string sqlQuery = "INSERT INTO IncidentReport(CarID,DateOfIncident, ReportName, ReportDescription, DateOfReport)" +
        "Values (@CarID,@DateOfIncident, @ReportName, @ReportDescription, @DateOfReport)";

此外,ReportId不在查询中,因此它不会被设置,或者将其添加到查询中,就像我上面的carID一样,或者如果它是身份自动增量,则根本不设置它。