ASP.NET动态创建数据库和表
时间:2021-07-01 10:21:17
帮助过:2人阅读
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动态创建数据库和表
标签: