Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Kiểm tra xem cơ sở dữ liệu có tồn tại không trước khi tạo

Kể từ SQL Server 2005, sysobjects kiểu cũ và sysdatabases và các chế độ xem danh mục đó đã không được dùng nữa. Thực hiện việc này thay thế - sử dụng sys. schema - các chế độ xem như 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;
}

Điều này sẽ hoạt động với bất kỳ tên cơ sở dữ liệu nào bạn nhập vào dưới dạng tham số và nó sẽ trả về bool true =cơ sở dữ liệu tồn tại, false =cơ sở dữ liệu không tồn tại (hoặc đã xảy ra lỗi).



  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 phân chia bằng dấu phẩy

  2. Cách kiểm tra phiên bản SQL Server

  3. chuyển đến hàng tiếp theo khi một cột chứa giá trị nhất định (sql server 2008)

  4. tên cột hoặc số ... không khớp với định nghĩa bảng trong bảng được tạo bởi tập lệnh tạo. Lỗi hiển thị trong khi chèn hàng từ bảng này sang bảng khác

  5. Nhập ngày chuỗi trong cột Có nguồn gốc