本文适用于mssql2000
我们的程序在制作完成后,往往需要我们部署一个数据库过去。
部署的方法有几种
1、将开发好的数据库分离,拷贝过去,再附加。缺点是,比较麻烦,执行起来也不大好操作,需要一定的数据库使用的经验,才可以。
2、将制作好的数据库导出成为sql 生成语句,在目标机器上打开查询执行即可。缺点同上。
我们在试用微软的源程序的时候会发现有向导创建数据库,说明可以在程序里自行创建,那么方法究竟是什么呢?
通过查找多方资料,我最后实际制作了以下程序,并应用成功!
本程序是使用c#在asp.net环境下运行
需要说明的几个问题:
1、连接字符串,在创建数据库之前没有数据库,所以也就没法直接连接上,所以,我们首先连接到master库上
在webconfig中
<add key="strdb1" value="server=(local);uid=sa;password=123456;database=master" />
2、生成数据库使用的语句是sql2000中的生成语句功能来生成的,这样的好处是,可以直观的看到内容,因为有时候由于字符编码的问题,需要手动更改其中的内容,日后如果需要更改数据库结构,也很方便。
检查数据库例程
//检查有没有需要的数据库
void getdb()
{
//获取连接字符串
string constr=ConfigurationSettings.AppSettings["strdb1"];
SqlConnection sqlcon=new SqlConnection();
sqlcon.ConnectionString=constr;
SqlCommand cmd=new SqlCommand();
cmd.Connection=sqlcon;
try
{
cmd.CommandText="select name from dbo.sysdatabases where name='相应的数据库名称' ";
sqlcon.Open();
SqlDataReader dr=cmd.ExecuteReader();
//若为真则数据库存在,网页直接跳转
if (dr.Read()==true)
{
dr.Close();
// Response.Redirect("admin.aspx",true);
this.lbtishi.Text="数据库已经成功创建,请不要再次创建";
this.btnCreatDb.Enabled=false;
this.btdel.Visible=true;
}
else //数据库不存在,让用户建立数据库
{
//
Panel2.Visible=false;
btnCreatDb.Enabled=true;
Panel1.Visible=true;
}
sqlcon.Close();
}
catch(Exception e)
{
Panel1.Visible=false;btnCreatDb.Visible=false;
Response.Write(e);
}
finally
{
sqlcon.Close();
}
}
void getdb()
{
//获取连接字符串
string constr=ConfigurationSettings.AppSettings["strdb1"];
SqlConnection sqlcon=new SqlConnection();
sqlcon.ConnectionString=constr;
SqlCommand cmd=new SqlCommand();
cmd.Connection=sqlcon;
try
{
cmd.CommandText="select name from dbo.sysdatabases where name='相应的数据库名称' ";
sqlcon.Open();
SqlDataReader dr=cmd.ExecuteReader();
//若为真则数据库存在,网页直接跳转
if (dr.Read()==true)
{
dr.Close();
// Response.Redirect("admin.aspx",true);
this.lbtishi.Text="数据库已经成功创建,请不要再次创建";
this.btnCreatDb.Enabled=false;
this.btdel.Visible=true;
}
else //数据库不存在,让用户建立数据库
{
//
Panel2.Visible=false;
btnCreatDb.Enabled=true;
Panel1.Visible=true;
}
sqlcon.Close();
}
catch(Exception e)
{
Panel1.Visible=false;btnCreatDb.Visible=false;
Response.Write(e);
}
finally
{
sqlcon.Close();
}
}
删除数据库
void deldb()
{
//获取连接字符串
string constr=ConfigurationSettings.AppSettings["strdb1"];
SqlConnection sqlcon=new SqlConnection();
<IMG src="http://goldentim#
{
//获取连接字符串
string constr=ConfigurationSettings.AppSettings["strdb1"];
SqlConnection sqlcon=new SqlConnection();
<IMG src="http://goldentim#