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());
}
上面是代码,第一次运行能创建数据库,而第二次运行时,提示数据库已经存在,让换个名字创建数据库。也就是说程序依然在创建数据库、求大神解答一下!
12 个解决方案
#1
select * From master.dbo.sysdatabases where name='数据库名'
这句SQL语句会查询指定数据库的详细信息。这样就能查到数据库。
#2
逻辑不对。 不应该在C# 中判断,而应该在C#中执行proc 这个proc中包含 判断数据库是否存在判断,并且根据判断条件 执行是否创建数据库或者提示 数据库已存在。将提示信息返回。
#3
可以按照2楼的sql。
在需要触发创建数据库的地方,先执行sql判断数据库是否存在,没存在就创建;存在就提示。
在需要触发创建数据库的地方,先执行sql判断数据库是否存在,没存在就创建;存在就提示。
#4
在系统初始化的时候,都是这么写脚本的,
从系统表中取是否存在对应的表对象,索引之类,没有就创建
从系统表中取是否存在对应的表对象,索引之类,没有就创建
#5
这个代码具体怎么写呢?在我上面贴的代码中,我试着写了下,好像报错啊!求大神指引啊!
菜鸟刚学习C#
#6
如果使用他的代码,那么就是
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)";
#7
可以按照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)";
多谢了!
但是我后面还有建数据表,该写爱哪里呢?
实现的功能是这样的:程序运行时,检查系统内存在数据库不,不存在时,创建数据库,同时创建多个表。如果系统存在数据库,则关闭数据库连接
#8
可以按照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)";
可以按照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)";
sql中可以写判断IF 语句?
#9
如果是sqlserver,就用管理工具,将数据库生成脚本,包括创建数据库,表,存储过程,函数等等。。。。。
然后,写个程序去读取脚本,逐一执行(比如说每个go之间就做一段sql执行)。
然后,写个程序去读取脚本,逐一执行(比如说每个go之间就做一段sql执行)。
#10
脚本要有一定顺序,不然会报错。
#11
'F:\\GFX_JC_DB\\GFX_JC.mdf'
你后面创建数据库扩展名是mdf
前面判断是否存在用mdb??
你后面创建数据库扩展名是mdf
前面判断是否存在用mdb??
#12
'F:\\GFX_JC_DB\\GFX_JC.mdf'
你后面创建数据库扩展名是mdf
前面判断是否存在用mdb??
我改改!
#1
select * From master.dbo.sysdatabases where name='数据库名'
这句SQL语句会查询指定数据库的详细信息。这样就能查到数据库。
#2
逻辑不对。 不应该在C# 中判断,而应该在C#中执行proc 这个proc中包含 判断数据库是否存在判断,并且根据判断条件 执行是否创建数据库或者提示 数据库已存在。将提示信息返回。
#3
可以按照2楼的sql。
在需要触发创建数据库的地方,先执行sql判断数据库是否存在,没存在就创建;存在就提示。
在需要触发创建数据库的地方,先执行sql判断数据库是否存在,没存在就创建;存在就提示。
#4
在系统初始化的时候,都是这么写脚本的,
从系统表中取是否存在对应的表对象,索引之类,没有就创建
从系统表中取是否存在对应的表对象,索引之类,没有就创建
#5
可以按照2楼的sql。
在需要触发创建数据库的地方,先执行sql判断数据库是否存在,没存在就创建;存在就提示。
这个代码具体怎么写呢?在我上面贴的代码中,我试着写了下,好像报错啊!求大神指引啊!
菜鸟刚学习C#
#6
可以按照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)";
#7
可以按照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)";
多谢了!
但是我后面还有建数据表,该写爱哪里呢?
实现的功能是这样的:程序运行时,检查系统内存在数据库不,不存在时,创建数据库,同时创建多个表。如果系统存在数据库,则关闭数据库连接
#8
可以按照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)";
可以按照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)";
sql中可以写判断IF 语句?
#9
如果是sqlserver,就用管理工具,将数据库生成脚本,包括创建数据库,表,存储过程,函数等等。。。。。
然后,写个程序去读取脚本,逐一执行(比如说每个go之间就做一段sql执行)。
然后,写个程序去读取脚本,逐一执行(比如说每个go之间就做一段sql执行)。
#10
脚本要有一定顺序,不然会报错。
#11
'F:\\GFX_JC_DB\\GFX_JC.mdf'
你后面创建数据库扩展名是mdf
前面判断是否存在用mdb??
你后面创建数据库扩展名是mdf
前面判断是否存在用mdb??
#12
'F:\\GFX_JC_DB\\GFX_JC.mdf'
你后面创建数据库扩展名是mdf
前面判断是否存在用mdb??
我改改!