有没有更好的方法来查明一个数据库表是不是空的,而不是通过在ADO.Net中实际查询它?
问题描述:
This answer建议一种方便的方法来检查数据库中是否存在表。有没有一种类似的方法来检查它是否可能是空的,或者我应该只是用普通的SQL查询表格,找出那里有什么?有没有更好的方法来查明一个数据库表是不是空的,而不是通过在ADO.Net中实际查询它?
答
你知道表的名字吗?如果是这样,我只是用:
using (var dbConnection = new SqlConnection(connectionString))
{
dbConnection .Open();
using (var dbCommand = new SqlCommand("select Count(*) from YourTable", dbConnection))
{
return dbCommand.ExecuteScalar() == 0;
}
}
+0
不会抛出异常,如果不存在? –
+0
另一个问题已经显示了如何查看表格是否存在,这并没有回答Ivan的问题。如果他也需要这样做,他需要先使用先前的答案。上一个答案不显示该表是否为空。 –
看看[这](http://stackoverflow.com/questions/5630689/select-all-empty-tables-in-sql-server)帮助。虽然我只想用一个简单的查询'SELECT TOP 1 1 FROM TABLE' – CodingYoshi
一种常见的SQL方式---你的意思是不使用master数据库?那么这些[so](http://stackoverflow.com/questions/167576/check-if-table-exists-in-sql-server) –
@LeiYang“一种常用的SQL方式---你的意思是......”我的意思是只针对我们感兴趣的表编写SQL查询,并用DbCommand以普通的方式执行它,而不是试图为此找到一些维护/元数据ADO.Net API。 – Ivan