SQL सर्वर 2005 के अनुसार, पुरानी शैली sysobjects
और sysdatabases
और उन कैटलॉग दृश्यों को हटा दिया गया है। इसके बजाय ऐसा करें - sys.
. का उपयोग करें स्कीमा - दृश्य जैसे sys.databases
private static bool CheckDatabaseExists(SqlConnection tmpConn, string databaseName)
{
string sqlCreateDBQuery;
bool result = false;
try
{
tmpConn = new SqlConnection("server=(local)\\SQLEXPRESS;Trusted_Connection=yes");
sqlCreateDBQuery = string.Format("SELECT database_id FROM sys.databases WHERE Name
= '{0}'", databaseName);
using (tmpConn)
{
using (SqlCommand sqlCmd = new SqlCommand(sqlCreateDBQuery, tmpConn))
{
tmpConn.Open();
object resultObj = sqlCmd.ExecuteScalar();
int databaseID = 0;
if (resultObj != null)
{
int.TryParse(resultObj.ToString(), out databaseID);
}
tmpConn.Close();
result = (databaseID > 0);
}
}
}
catch (Exception ex)
{
result = false;
}
return result;
}
यह किसी भी डेटाबेस नाम के साथ काम करेगा जिसे आप पैरामीटर के रूप में पास करते हैं, और यह एक बूल ट्रू =डेटाबेस मौजूद है, झूठा =डेटाबेस मौजूद नहीं है (या त्रुटि हुई) लौटाएगा।