【发布时间】:2011-01-14 23:46:06
【问题描述】:
这看起来很琐碎,但现在让我很沮丧。
我在 SQL Server 2005 Express 中使用 C#。
我正在使用以下代码。我想在创建数据库之前检查它是否存在。但是,返回的整数是 -1,这也是 MSDN 定义 ExecuteNonQuery() 将返回的内容的方式。现在,数据库确实存在,但它仍然返回 -1。话虽如此,我怎样才能使这项工作获得理想的结果?
private static void checkInventoryDatabaseExists(ref SqlConnection tmpConn, ref bool databaseExists)
{
string sqlCreateDBQuery;
try
{
tmpConn = new SqlConnection("server=(local)\\SQLEXPRESS;Trusted_Connection=yes");
sqlCreateDBQuery = "SELECT * FROM master.dbo.sysdatabases where name =
\'INVENTORY\'";
using (tmpConn)
{
tmpConn.Open();
tmpConn.ChangeDatabase("master");
using (SqlCommand sqlCmd = new SqlCommand(sqlCreateDBQuery, tmpConn))
{
int exists = sqlCmd.ExecuteNonQuery();
if (exists <= 0)
databaseExists = false;
else
databaseExists = true;
}
}
}
catch (Exception ex) { }
}
【问题讨论】:
标签: c# sql-server-2005 tsql