NullReferenceException was unhandled.

本文关键字:unhandled was NullReferenceException | 更新日期: 2023-09-27 18:29:48

我是编程初学者,遇到了一个NullReferenceException错误。可能是什么问题?

DataRow dRow = DS.Tables["tblLogin"].Rows[0];
dRow.BeginEdit();
dRow["PASSWORD"] = txtNew.Text;
dRow.EndEdit();
Cmd = new SqlCommand("Update tblLogin set PASSWORD = @PASSWORD where USERNAME = " + txtUser.Text, sConn);
Cmd.Parameters.Add("@PASSWORD", SqlDbType.VarChar, 50, "PASSWORD");
DA.UpdateCommand = Cmd;
DA.Update(DS, "tblLogin");
MessageBox.Show("Record Updated!", "Payroll System", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

NullReferenceException was unhandled.

您的代码中有一个未初始化的变量(值为null的变量)。如果您尝试访问此变量的成员,则会出现此异常。

从外观上看,它可能是DSDA,因为您没有显示如何设置这两个值。你能给我们看一下它在哪里初始化的代码吗?

此外,异常将告诉您错误发生的行,这也将有助于确定错误的来源。

编辑:根据您的评论,DA似乎没有设置为任何值,还请确保表tblLogin存在于DataSet中。

  • 在函数的第一行设置断点
  • 到达后,按Ctrl+Alt+E以显示异常设置框
  • 选中该框可中断所有公共语言运行时异常。然后
  • 点击F5继续运行。当抛出异常时,您将得到一个确切位置的标记