Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Periksa apakah Database Ada Sebelum Membuat

Pada SQL Server 2005, sysobjects gaya lama dan sysdatabases dan tampilan katalog tersebut tidak digunakan lagi. Lakukan ini sebagai gantinya - gunakan sys. skema - tampilan seperti 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;
}

Ini akan bekerja dengan nama basis data apa pun yang Anda masukkan sebagai parameter, dan itu akan mengembalikan bool true =basis data ada, false =basis data tidak ada (atau terjadi kesalahan).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mengembalikan Nilai Kode ASCII untuk Karakter yang diberikan di SQL Server

  2. Sumber daya apa yang tersedia untuk penyetelan kinerja Database?

  3. Apakah ada kombinasi LIKE dan IN dalam SQL?

  4. Tidak dapat terhubung ke SQL server 2008?

  5. cara melindungi database dari otentikasi windows