C# ASP.net Webforms表NullException
我目前正在使用ASP.Net Webforms开发一个系统,我的一个页面上有以下代码: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
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在my designer.csc上的代码>如果表为空,您是否尝试过初始化它?有时,代码需要在尝试对某些类执行操作之前进行分配。