C# 判断一个数据库是否存在,不存在在创建 代码怎么写

C# 判断一个数据库是否存在,不存在在创建 代码如何写
  conn = new SqlConnection(ConnectionString);
            if (conn.State != ConnectionState.Open)
                conn.Open();
            if (File.Exists(@"F:\GFX_JC_DB\GFX_JC.mdb") == false)
            
            {
                string sql = "CREATE DATABASE GFX_JC ON PRIMARY"
                       + "(name=GFX_JC, filename = 'F:\\GFX_JC_DB\\GFX_JC.mdf', size=3,"
                       + "maxsize=5, filegrowth=10%)log on"
                       + "(name=GFX_JC_log,filename='F:\\GFX_JC_DB\\GFX_JC_log.ldf',size=3,"
                       + "maxsize=20,filegrowth=1)";
                cmd = new SqlCommand(sql, conn);
                try
                {
                    cmd.ExecuteNonQuery();
                }
                catch (SqlException ae)
                {
                    MessageBox.Show(ae.Message.ToString());
                }

上面是代码,第一次运行能创建数据库,而第二次运行时,提示数据库已经存在,让换个名字创建数据库。也就是说程序依然在创建数据库、求大神解答一下!
------解决方案--------------------
select * From master.dbo.sysdatabases where name='数据库名'


这句SQL语句会查询指定数据库的详细信息。这样就能查到数据库。
------解决方案--------------------
引用:
Quote: 引用:

可以按照2楼的sql。
在需要触发创建数据库的地方,先执行sql判断数据库是否存在,没存在就创建;存在就提示。


这个代码具体怎么写呢?在我上面贴的代码中,我试着写了下,好像报错啊!求大神指引啊!
菜鸟刚学习C#


如果使用他的代码,那么就是
                string sql = "if not exists(select * From master.dbo.sysdatabases where name='GFX_JC ')"
                        +"CREATE DATABASE GFX_JC ON PRIMARY"
                        + "(name=GFX_JC, filename = 'F:\\GFX_JC_DB\\GFX_JC.mdf', size=3,"
                        + "maxsize=5, filegrowth=10%)log on"
                        + "(name=GFX_JC_log,filename='F:\\GFX_JC_DB\\GFX_JC_log.ldf',size=3,"
                        + "maxsize=20,filegrowth=1)";

------解决方案--------------------
'F:\\GFX_JC_DB\\GFX_JC.mdf'
你后面创建数据库扩展名是mdf
前面判断是否存在用mdb??