sql >> Databáze >  >> RDS >> Sqlserver

Před vytvořením zkontrolujte, zda databáze existuje

Od SQL Server 2005, starý styl sysobjects a sysdatabases a tato zobrazení katalogu byla zastaralá. Udělejte to místo toho - použijte sys. schéma - zobrazení jako 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;
}

To bude fungovat s jakýmkoli názvem databáze, který zadáte jako parametr, a vrátí bool true =databáze existuje, false =databáze neexistuje (nebo došlo k chybě).



  1. spojit dva cizí klíče ze stejné tabulky v SQL

  2. Potřebujete dotaz na odlišnou kombinaci dvou polí spolu s počtem, že se vyskytuje odlišná kombinace

  3. Připojte HP-UX Itanium k SQL Server

  4. Jak vyvolat chybu ve funkci MySQL