在ASP.NET中动态创建数据库

  1. using System;
  2. using System.Data;
  3. using System.Web.UI;
  4. using System.Web.UI.WebControls;
  5. //加入SQL的命名空间
  6. using System.Data.SqlClient;
  7. public partial class command : System.Web.UI.Page
  8. {
  9.     protected void Page_Load(object sender, EventArgs e)
  10.     {
  11.     if (!Page.IsPostBack)
  12.         {
  13.         ConnectDB();
  14.         }
  15.     }
  16.     /// <summary>
  17.     /// 动态创建数据库
  18.     /// </summary>
  19.     public void ConnectDB()
  20.         {
  21.         //创建一个新连接
  22.         SqlConnection conn = new SqlConnection();
  23.         //已经存在的数据库master的连接字符串
  24.         string connToMaster = "Server=localhost;DataBase=master;UID=sa;PWD=";
  25.         //新建数据库的连接字符串
  26.         string connToDb = "Server=localhost;DataBase=SEAJACK;UID=sa;PWD=";
  27.         //创建数据库的Sql语句,将来由已经存在的数据库连接执行此命令
  28.         //先判断数据库及数据表是否存在
  29.         string createDbStr = "if NOT exists"+
  30.             "("+"select * from master.dbo.sysdatabases where name "+"= '"+"SEAJACK"+"')"+"Create database [SEAJACK]";
  31.         string createTableStr = "if NOT exists"+"("+"select count(*) from sysobjects where id "+"= object_id"+"('"+"SEAJACK.Owner.example"+"'))"
  32. "create table example ([序号] int primary key,[姓名] Nchar(5))";
  33.         string insertStr = "insert into example values(3,'汤海龙')";
  34.         string selectStr = "select * from example";
  35.         //创建一个新的SqlCommand对象
  36.         SqlCommand cmd = new SqlCommand(createDbStr, conn);
  37.        //首先连接到已经存在的数据库master,
  38.         conn.ConnectionString = connToMaster;
  39.         conn.Open();
  40.         //执行了下面的语句,就执行了SQL语句,即创建了数据库
  41.         cmd.ExecuteNonQuery();
  42.         //conn.ChangeDatabase("SEAJACK");
  43.         conn.Close();
  44.         //关闭旧连接,打开新连接
  45.         conn.ConnectionString = connToDb;
  46.         conn.Open();
  47.         //
  48.         //int at = (int)cmd.ExecuteScalar();
  49.         cmd.CommandText = createTableStr;
  50.         cmd.ExecuteNonQuery();
  51.         cmd.CommandText = insertStr;
  52.         cmd.ExecuteNonQuery();
  53.         conn.Close();
  54.         cmd.CommandText = selectStr;
  55.         SqlDataAdapter da = new SqlDataAdapter(cmd);
  56.         DataTable dt = new DataTable();
  57.         da.Fill(dt);
  58.         GridView gv = new GridView();
  59.         form1.Controls.Add(gv);
  60.         gv.AutoGenerateColumns = true;
  61.         gv.DataSource = dt;
  62.         gv.DataBind();
  63.         }
  64. }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值