C#打包安装数据库教程Word下载.docx
《C#打包安装数据库教程Word下载.docx》由会员分享,可在线阅读,更多相关《C#打包安装数据库教程Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
Gradeint,
Emailnvarchar(50)
)
insertintoStudents(Name,Address,Grade,Email)
values('
李明'
'
扬州'
1,'
liming@'
注意:
文件中不能有GO
二、第二步设置”安装项目”
1.添加SQL文件
添加后的效果如上图
2.添加DBCustomer项目的输出
添加以后效果如上图
3.设置安装界面
点”属性窗口”,会看到如下图
修改属性
4.设置自定义操作
弹出如下窗体
双击
结果如下
在属性”CustomerActionData”下面写入以下信息
/server=[SERVER]/username=[USERNAME]/password=[PASSWORD]/databasename=[DATABASENAME]/targetdir=”[TARGETDIR]\”
注:
1.“/”之前必须有空格
2.[TARGETDIR]必须用双引号引起来(加双引号是为了解决路径中有空格的问题),并且后面再有反斜杠
targetdir=[TARGETDIR]是取得用户选择的安装路径
见图
到此,项目”DBSetup”就配置完成,下面设置项目”DBCustomer”
三、第三步完成项目”DBCustomer”
弹出如下界面
点”添加”
出现如下图界面
实现代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Configuration.Install;
usingSystem.IO;
usingSystem.Data.SqlClient;
namespaceDBCustomer
{
[RunInstaller(true)]
publicpartialclassDBAction:
Installer
{
publicDBAction()
InitializeComponent();
}
publicoverridevoidInstall(System.Collections.IDictionarystateSaver)
base.Install(stateSaver);
#region取得安装时用户输入的值
//这里取得的值就是用户输入的值
stringserver=this.Context.Parameters["
server"
];
stringname=this.Context.Parameters["
username"
stringpass=this.Context.Parameters["
password"
stringdbName=this.Context.Parameters["
databasename"
stringpath=this.Context.Parameters["
targetdir"
#endregion
#region读取要执行的SQL指令
FileStreamfs=newFileStream(path+"
sql.txt"
FileMode.Open);
StreamReadersr=newStreamReader(fs);
stringsql=sr.ReadToEnd();
sr.Close();
fs.Close();
#region执行创建数据库
stringconnString=string.Format("
server={0};
uid={1};
pwd={2};
database=master"
server,name,pass);
SqlConnectionconn=newSqlConnection(connString);
conn.Open();
//创建数据库
stringsqlDB=@"
createdatabase"
+dbName
+"
onprimary(name='
"
+dbName+"
_Data'
filename='
+path+dbName+"
_Data.mdf'
)"
;
//执行创建数据库
ExecuteSql(conn,sqlDB);
//执行SQL语句
conn.ChangeDatabase(dbName);
//更改当前数据库
ExecuteSql(conn,sql);
//执行创建表的语句
conn.Close();
///<
summary>
///自定义执行SQL语句方法
/summary>
paramname="
conn"
>
<
/param>
sql"
voidExecuteSql(SqlConnectionconn,stringsql)
SqlCommandcmd=newSqlCommand(sql,conn);
cmd.ExecuteNonQuery();
}
如还不清楚,可参考示例
编译好解决方案以后,在项目”DBSetup”下可以看到安装执行文件
运行主要界面如下: