Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Проверете дали базата данни съществува преди създаване

От SQL Server 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;
}

Това ще работи с всяко име на база данни, което подадете като параметър, и ще върне bool true =базата данни съществува, false =базата данни не съществува (или е възникнала грешка).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да конвертирате между формати на дата в SQL Server с помощта на CAST()

  2. Зависимости на SQL сървър

  3. Изчислете текущата сума в SQL Server

  4. Използвайте TYPE_ID(), за да получите идентификатора на тип данни в SQL Server

  5. Ускоряване на актуализацията на 185k редове в SQL Server 2008?