ASP.NET动态创建数据库和表

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        ConnectDB();
    }

    public void ConnectDB()
        {
        //创建一个新连接 
        SqlConnection conn = new SqlConnection();
        //已经存在的数据库master的连接字符串 
        string connToMaster = "Server=localhost;DataBase=master;UID=sa;PWD=123456";
        //新建数据库的连接字符串 
        string connToDb = "Server=localhost;DataBase=SSPU;UID=sa;PWD=123456";
        //创建数据库的Sql语句,将来由已经存在的数据库连接执行此命令 
        //先判断数据库及数据表是否存在 
        string createDbStr = "if NOT exists"+
            "(" + "select * from master.dbo.sysdatabases where name " + "= '" + "SSPU" + "')" + "Create database [SSPU]";
        string createTableStr = "if not exists(select * from sysobjects where xtype='u' and name='student')create table student (s_id int primary key,name Nchar(5))";

        string insertStr = "insert into student values(1,N'小米')";
        string selectStr = "select * from student";
        //创建一个新的SqlCommand对象 
        SqlCommand cmd = new SqlCommand(createDbStr, conn);
       //首先连接到已经存在的数据库master, 
        conn.ConnectionString = connToMaster;
        conn.Open();
        //执行了下面的语句,就执行了SQL语句,即创建了数据库 
        cmd.ExecuteNonQuery();
        //conn.ChangeDatabase("SSPU"); 
        conn.Close();
        //关闭旧连接,打开新连接 
        conn.ConnectionString = connToDb;
        conn.Open();
        
        //int at = (int)cmd.ExecuteScalar(); 
        cmd.CommandText = createTableStr;
        cmd.ExecuteNonQuery();
        cmd.CommandText = insertStr;
        cmd.ExecuteNonQuery();
        conn.Close();

        cmd.CommandText = selectStr;
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);

        GridView gv = new GridView();
        form1.Controls.Add(gv);
        gv.AutoGenerateColumns = true;
        gv.DataSource = dt;
        gv.DataBind();
        }

}

 

你可能感兴趣的:(ASP.NET动态创建数据库和表)