读者在单击Table Existence时不返回行

时间:2014-06-18 07:02:29

标签: sql-server tsql

我确信这个表存在,但读者没有行。我希望表的名称如果存在则返回

using (var cmd = new SqlCommand("SELECT name FROM sys.objects WHERE object_id = OBJECT_ID(N'" + tableName + "') AND type in (N'U')", SqlConnection))
{
    var reader = cmd.ExecuteReader();
    {
        using (reader)
        {
            if (!reader.HasRows) return false;

            while (reader.Read())
                tableNameFound = reader.GetString(0);
        }
    }
}

我在Management Studio中直接运行了这个查询,然后我回来了#34;汽车":

SELECT name FROM sys.objects 
WHERE object_id = OBJECT_ID(N'Cars') AND type in (N'U')

所以也许我不应该在这里使用读者?我不知道。

1 个答案:

答案 0 :(得分:1)

您的查询没问题。

检查:

  • 如果在正确的数据库/架构上运行此命令。在master中运行时,此查询将失败,例如,当您的表位于另一个数据库/模式中时;
  • 如果您输入的参数不包含空格等