【发布时间】:2010-10-02 15:27:05
【问题描述】:
以数据库独立方式检查表是否存在于 Sql 数据库中的最佳方法是什么?
我想出了:
bool exists;
const string sqlStatement = @"SELECT COUNT(*) FROM my_table";
try
{
using (OdbcCommand cmd = new OdbcCommand(sqlStatement, myOdbcConnection))
{
cmd.ExecuteScalar();
exists = true;
}
}
catch
{
exists = false;
}
有没有更好的方法来做到这一点?当与数据库的连接失败时,此方法将不起作用。我找到了适用于 Sybase、SQL 服务器、Oracle 的方法,但没有任何方法适用于所有数据库。
【问题讨论】:
-
更好的方法是使用 "SELECT 1 FROM
tblWHERE 1=0" 这样就不会消耗资源。