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());
}
上面是代码,第一次运行能创建数据库,而第二次运行时,提示数据库已经存在,让换个名字创建数据库。也就是说程序依然在创建数据库、求大神解答一下!
------解决方案--------------------
这句SQL语句会查询指定数据库的详细信息。这样就能查到数据库。
------解决方案--------------------
如果使用他的代码,那么就是
------解决方案--------------------
'F:\\GFX_JC_DB\\GFX_JC.mdf'
你后面创建数据库扩展名是mdf
前面判断是否存在用mdb??
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语句会查询指定数据库的详细信息。这样就能查到数据库。
------解决方案--------------------
如果使用他的代码,那么就是
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??