为什么我收到对象引用错误

时间:2014-06-20 14:03:50

标签: c# sql

我有一个C#应用程序,在代码中我正在检查表是否存在:

// checking whether the table selected from the dataset exists in the database or not
string exists = null;
try
{
    SqlCommand cmd = new SqlCommand("SELECT * FROM sysobjects where name = '" + tbTableName.Text + "'", myConnection);
    exists = cmd.ExecuteScalar().ToString();
}
catch (Exception exce)
{
    MessageBox.Show(exce.Message, "Program Message2", MessageBoxButtons.OK, MessageBoxIcon.Error);
    exists = null;
}

一旦完成,如果表格不存在,我创建一个新表,如果表存在,我会更改列,如果它丢失。

当我运行应用程序并单击按钮进行检查并运行上面的代码时,出现以下错误:

Object reference not set to an instance of an object

表创建或修改表代码后工作正常,但我不知道为什么我收到错误。

知道怎么解决吗?

1 个答案:

答案 0 :(得分:3)

如果查询未返回任何记录,

ExecuteScalar()将返回null。如此有效,如果没有记录与查询匹配,代码说:

exists = null.ToString()