zoukankan
html css js c++ java
安装程序自动安装数据库
添加新项中添加安装程序类
using
System;
using
System.Collections;
using
System.ComponentModel;
using
System.Configuration.Install;
using
System.IO;
using
System.Data.SqlClient;
using
System.Reflection;
namespace
DBCustomAction
{
/**/
///
<summary>
///
DBCustomAction 的摘要说明。
///
</summary>
[RunInstaller(
true
)]
public
class
DBCustomAction : System.Configuration.Install.Installer
{
/**/
///
<summary>
///
必需的设计器变量。
///
</summary>
private
System.ComponentModel.Container components
=
null
;
private
string
strPass
=
""
;
public
DBCustomAction()
{
//
该调用是设计器所必需的。
InitializeComponent();
//
TODO: 在 InitComponent 调用后添加任何初始化
}
Component Designer generated code
#region
Component Designer generated code
/**/
///
<summary>
///
设计器支持所需的方法 - 不要使用代码编辑器修改
///
此方法的内容。
///
</summary>
private
void
InitializeComponent()
{
}
#endregion
public
override
void
Install(System.Collections.IDictionary stateSaver)
{
//
入口
strPass
=
this
.Context.Parameters[
"
strPass
"
];
AddDBTable(
"
RequestSys
"
);
//
RequestSys为数据库名称
}
private
string
GetSql(
string
strName)
{
try
{
//
' Get the current assembly.
Assembly Asm
=
Assembly.GetExecutingAssembly();
//
Resources are named using a fully qualified name
Stream strm
=
Asm.GetManifestResourceStream(Asm.GetName().Name
+
"
.
"
+
strName);
//
Read the contents of the embedded file.
StreamReader reader
=
new
StreamReader(strm);
//
,System.Text.Encoding.Unicode);
return
reader.ReadToEnd();
}
catch
{
return
null
;
}
}
private
void
ExecuteSql(
string
DatabaseName ,
string
Sql)
{
SqlConnection sqlConnection1
=
new
SqlConnection(
"
user id=sa;password=
"
+
strPass
+
"
;database=master;server=(local)
"
) ;
SqlCommand Command
=
new
SqlCommand(Sql, sqlConnection1);
Command.Connection.Open();
Command.Connection.ChangeDatabase(DatabaseName);
try
{
Command.ExecuteNonQuery();
}
finally
{
//
Finally, blocks are a great way to ensure that the connection
Command.Connection.Close();
}
}
protected
void
AddDBTable(
string
strDBName )
{
try
{
//
Create the database.
ExecuteSql(
"
master
"
,
"
CREATE DATABASE
"
+
strDBName);
//
Create the tables.
ExecuteSql(strDBName, GetSql(
"
sql.txt
"
));
}
catch
{
}
}
}
}
查看全文
相关阅读:
Java Object-Oriented:day11 【 Inner Classes 】
Java Object-Oriented:day11 【 final 】
Java Object-Oriented:day10 【 Inheritance】
Java Object-Oriented:day10 【 Interfaces】
深入剖析Kubernetes学习笔记:StatefulSet-MySQL集群(20)
Java Object-Oriented:day09 【 Inheritance、Abstract Classes】
Java Object-Oriented:day09 【 Inheritance、super、this】
kubernetes云平台管理实战:常用命令大全(十二)
Java API:day08 【static、Arrays、Math】
Java API:day08 【String】
原文地址:https://www.cnblogs.com/ghd258/p/262046.html
最新文章
JavaScript获取mp4文件MIME编码格式,用于判读是否是h.264,解决在线播放只有声音问题
php+ffmpeg判断视频编码格式是否h264?
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
PHP使用static声明静态变量计算层级数据
深挖计算机基础实战目录
Kubernetes实战:目录
项目实战:目录
kubernetes云平台管理实战:jenkins自动化构建docker镜像并部署到k8s集群(二十三)
kubernetes云平台管理实战:jenkins自动化构建docker镜像并部署到k8s集群(二十四)
kubernetes云平台管理实战:持久化实战(二十)
热门文章
kubernetes云平台管理实战:k8s存储pv和pvc(十九)
kubernetes云平台管理实战:k8s弹性伸缩(十八)
kubernetes云平台管理实战:namespace的使用(十六)
kubernetes云平台管理实战:部署heapster监控(十七)
kubernetes云平台管理实战:dashboard安装部署(十五)
kubernetes云平台管理实战:k8s附加组件DNS服务(十三)
kubernetes云平台管理实战:分布式文件系统glusterfs(二十一)
kubernetes云平台管理实战:tomcat + mysql(十二)
kubernetes云平台管理实战: 集群部署(CentOS 7.8 + docker 1.13 + kubectl 1.52)
Java Object-Oriented:day11 【 红包案例】
Copyright © 2011-2022 走看看