不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
.NET调用SQL脚本创建数据库及表示例
编辑:dnawo 日期:2008-08-21
SQL脚本:
Default.aspx:
Default.aspx.cs:
说明:
1.在执行sql脚本前务必使用ChangeDatabase方法把当前连接数据库改为新库,否则将在master库上创建表;
2.务必把SQL Server2000生成的sql脚本中的GO全部改为半角分号";";
3.保险起见可在sql脚本第一句使用use指定执行sql脚本所使用的数据库,做为对第1步的补充;
复制内容到剪贴板
程序代码

use [MzwuCom_NewDataBaseName]
;
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Student]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Student]
;
Create TABLE [dbo].[Student] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[age] [int] NULL
) ON [PRIMARY]
;
Alter TABLE [dbo].[Student] ADD
CONSTRAINT [PK_Student] PRIMARY KEY CLUSTERED
(
[id]
) ON [PRIMARY]
;
exec sp_addextendedproperty N'MS_Description', N'姓名', N'user', N'dbo', N'table', N'Student', N'column', N'name'
;
exec sp_addextendedproperty N'MS_Description', N'年龄', N'user', N'dbo', N'table', N'Student', N'column', N'age'
;
;
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Student]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Student]
;
Create TABLE [dbo].[Student] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[age] [int] NULL
) ON [PRIMARY]
;
Alter TABLE [dbo].[Student] ADD
CONSTRAINT [PK_Student] PRIMARY KEY CLUSTERED
(
[id]
) ON [PRIMARY]
;
exec sp_addextendedproperty N'MS_Description', N'姓名', N'user', N'dbo', N'table', N'Student', N'column', N'name'
;
exec sp_addextendedproperty N'MS_Description', N'年龄', N'user', N'dbo', N'table', N'Student', N'column', N'age'
;
Default.aspx:
复制内容到剪贴板
程序代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>.NET执行SQL脚本创建数据库及表示例-Mzwu.Com</title>
</head>
<body>
<form id="form1" runat="server">
<div>
数据库名称:<asp:TextBox ID="txtDataBaseName" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="创建数据库" />
</div>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>.NET执行SQL脚本创建数据库及表示例-Mzwu.Com</title>
</head>
<body>
<form id="form1" runat="server">
<div>
数据库名称:<asp:TextBox ID="txtDataBaseName" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="创建数据库" />
</div>
</form>
</body>
</html>
Default.aspx.cs:
复制内容到剪贴板
程序代码

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//
}
/// <summary>
/// 创建数据库
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
string databaseName = txtDataBaseName.Text; //数据库名称
string sqlFilePath = Server.MapPath("CreateTable.sql");//sql脚本路径
string sqlContent = File.ReadAllText(sqlFilePath);//读取sql脚本内容
sqlContent = sqlContent.Replace("MzwuCom_NewDataBaseName", databaseName);
//当前数据库先为master库
using (SqlConnection conn = new SqlConnection("server=(local);uid=sa;pwd=sa;database=master;"))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
//创建新数据库
cmd.CommandText = "IF Not EXISTS (select name from master.dbo.sysdatabases where name = N'" + databaseName + "') Create DATABASE " + databaseName;
cmd.ExecuteNonQuery();
//更改当前连接数据库为新数据库
conn.ChangeDatabase(databaseName);
//在新数据库上执行sql脚本
cmd.CommandText = sqlContent;
cmd.ExecuteNonQuery();
conn.Close();
}
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//
}
/// <summary>
/// 创建数据库
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
string databaseName = txtDataBaseName.Text; //数据库名称
string sqlFilePath = Server.MapPath("CreateTable.sql");//sql脚本路径
string sqlContent = File.ReadAllText(sqlFilePath);//读取sql脚本内容
sqlContent = sqlContent.Replace("MzwuCom_NewDataBaseName", databaseName);
//当前数据库先为master库
using (SqlConnection conn = new SqlConnection("server=(local);uid=sa;pwd=sa;database=master;"))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
//创建新数据库
cmd.CommandText = "IF Not EXISTS (select name from master.dbo.sysdatabases where name = N'" + databaseName + "') Create DATABASE " + databaseName;
cmd.ExecuteNonQuery();
//更改当前连接数据库为新数据库
conn.ChangeDatabase(databaseName);
//在新数据库上执行sql脚本
cmd.CommandText = sqlContent;
cmd.ExecuteNonQuery();
conn.Close();
}
}
}
说明:
1.在执行sql脚本前务必使用ChangeDatabase方法把当前连接数据库改为新库,否则将在master库上创建表;
2.务必把SQL Server2000生成的sql脚本中的GO全部改为半角分号";";
3.保险起见可在sql脚本第一句使用use指定执行sql脚本所使用的数据库,做为对第1步的补充;






评论: 0 | 引用: 0 | 查看次数: 5555
发表评论
请登录后再发表评论!