C# ASP.net Webforms表NullException

C# ASP.net Webforms表NullException,c#,asp.net,webforms,C#,Asp.net,Webforms,我目前正在使用ASP.Net Webforms开发一个系统,我的一个页面上有以下代码: namespace mypms.View { public partial class Reports : System.Web.UI.Page { private string truck_id = null; MySqlConnection conn = new MySqlConnection(ConfigurationManager.Connection

我目前正在使用ASP.Net Webforms开发一个系统,我的一个页面上有以下代码:

namespace mypms.View
{
    public partial class Reports : System.Web.UI.Page
    {
        private string truck_id = null;

        MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

        protected void Page_Load(object sender, EventArgs e)
        {

            truck_id = this.Request.QueryString["u"] != null ? this.Request.QueryString["u"] : Session["truck_id"] != null ? Session["truck_id"].ToString() : "";
            connectDB();
        }

        private void connectDB()
        {
            try
            {
                conn.Open();

                string selectUserQuery = @"SELECT * FROM thesis.joborder as jo inner join thesis.jobordermaterials as jom ON jom.jobID = jo.jobId Where jom.truck_id = '" + truck_id + "'";
                MySqlCommand cmd = new MySqlCommand(selectUserQuery, conn);

                foreach (DbDataRecord rowData in cmd.ExecuteReader())
                {
                    populateNewTableRow(rowData);
                }
            }
            catch (MySqlException ex)
            {
                System.Diagnostics.Debug.WriteLine("ERROR: " + ex.ToString());
            }
            finally
            {
                conn.Close();
            }
        }

        private void populateNewTableRow(DbDataRecord rowData)
        {
            TableRow tr = new TableRow();

            TableCell cell2 = new TableCell();
            cell2.Text = rowData.GetInt32(rowData.GetOrdinal("jobId")).ToString();
            tr.Cells.Add(cell2);

            TableCell cell3 = new TableCell();
            cell3.Text = rowData.GetString(rowData.GetOrdinal("odometerReading")).ToString();
            tr.Cells.Add(cell3);

            TableCell cell4 = new TableCell();
            cell4.Text = rowData.GetString(rowData.GetOrdinal("description")).ToString();
            tr.Cells.Add(cell4);

            TableCell cell5 = new TableCell();
            cell5.Text = rowData.GetInt32(rowData.GetOrdinal("quantity")).ToString();
            tr.Cells.Add(cell5);

            TableCell cell6 = new TableCell();
            cell6.Text = rowData.GetString(rowData.GetOrdinal("remarks")).ToString();
            tr.Cells.Add(cell6);

            TableCell cell7 = new TableCell();
            cell7.Text = rowData.GetString(rowData.GetOrdinal("mechanic")).ToString();
            tr.Cells.Add(cell7);

            tbl_MaitenanceRecord.Rows.Add(tr);// THIS (Null Reference Exception)
        }
}
我收到一个错误
System.NullReferenceException:对象引用未设置为对象的实例。
在这一行

tbl\u MaitenanceRecord.Rows.Add(tr)


我确信我的代码是正确的。此空引用异常的原因可能是什么?提前谢谢

我想更好的办法是在你们的桌子上使用这个方法。签入调试器每个行数据是什么。如果upper调用中的一个对象为null,则可能会出现问题。检查调用堆栈并检查绑定到表的每个对象,因为正如我所说的,这可能是个问题。
我也可能是一个问题,表非专业化。您可以对您的web代码提出质疑,特别是表格部分。

tbl\u MaitenanceRecord是否为空?您是否也可以将您的标记页张贴在tbl\u MaitenanceRecord所在的位置?声明了
tbl\u MaitenanceRecord
的位置?我有
受保护的全局::System.web.UI.WebControls.table tbl\u MaitenanceRecord如果表为空,您是否尝试过初始化它?有时,代码需要在尝试对某些类执行操作之前进行分配。