我确信这个表存在,但读者没有行。我希望表的名称如果存在则返回
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')
所以也许我不应该在这里使用读者?我不知道。
答案 0 :(得分:1)
您的查询没问题。
检查:
master
中运行时,此查询将失败,例如,当您的表位于另一个数据库/模式中时;