.net 添加自定义操作----安装数据库
2007-04-24 12:29
495 查看
添加自定义操作----安装数据库
1) 在用户界面添à右击à添加对话框文本框(A)如果添加了文本框则必须要上移(右击要上移的文本框à上移)到安装地址之上。
2) 如果只安装一个数据库就把其Edit2Visible,Edit3Visible,Edit4Visible设置为false.把Edit1property定义一个变量名,例如PARA1。
3) 自定义用户操作,在资源管理器界面右击资源管理器à新建àC#(也可以是VB.NET),选择类库,命名为WebInstall 。
4) 新建项目会自动生成一个class1.cs文件,把次文件删除。右击WebInstall添加新项à安装类,命名为Install.cs。
5)右击Install.csà视图设计界面,然后在服务器资源管理器中添加数据库master的连接,添加好后把这个连接拖到Install的设计界面。
6)在Install.cs文件中添加以下代码
注:要添加应用添加应用
using System.Reflection;
using System.Data;
using System.Data.SqlClient;
using System.IO;
安装数据库代码
/// <summary>
/// 获得配置文件中嵌入的文本文件
/// </summary>
/// <param name="Name">文件名</param>
/// <returns></returns>
private string GetSql(string Name)
{
Assembly Asm = Assembly.GetExecutingAssembly();
Stream strm = Asm.GetManifestResourceStream(Asm.GetName().Name + "."+Name);
StreamReader reader = new StreamReader(strm);
return reader.ReadToEnd();
}
/// <summary>
/// 指定的数据库执行SQL语句
/// </summary>
/// <param name="DatabaseName">数据库名</param>
/// <param name="sqlstring">SQL语句</param>
/// <returns></returns>
private void ExecuteSql(string DataBaseName,string sqlstring)
{
System.Data.SqlClient.SqlCommand Command = new System.Data.SqlClient.SqlCommand(sqlstring,sqlConn);
Command.Connection.Open();
Command.Connection.ChangeDatabase(DataBaseName);
try
{
Command.ExecuteNonQuery();
}
finally
{
Command.Connection.Close();
}
}
/// <summary>
/// 创建数据库及数据库表
/// </summary>
/// <param name="DBName">数据库名</param>
/// <param name="assemblyName">配件中数据库脚本资源的名称</param>
/// <returns></returns>
protected bool CreateDBAndTable(string DBName)
{
bool Restult = false;
try
{
ExecuteSql("master","CREATE DATABASE " + DBName);
ExecuteSql(DBName,GetSql("bbssql.txt"));
Restult = true;
}
catch(Exception ex)
{
//次段代码为调试用可以不添加
StreamWriter sw = new StreamWriter(@"c:\SrInforSys.txt");
sw.WriteLine("[SrInforSys案装错误]");
sw.WriteLine(ex.Message.ToString());
sw.Close();
}
return Restult;
}
/// <summary>
/// 安装数据库
/// </summary>
/// <param name="stateSaver"></param>
public override void Install(IDictionary stateSaver)
{
base.Install (stateSaver);
if(!CreateDBAndTable(this.Context.Parameters["dbname1"].ToString()))
throw new ApplicationException("创建数据库时出现严重错误!");
}
在添加安装数据库时一定要有创建数据库的脚本,并且把它存为.txt文件添加到WebInstall项目中了,右击该文件(例如,database.txt)à属性à生成操作,该为嵌入资源(这点很中要)。
7)生成WebInstall.dll文件。在解决方案资源管理器中右击àWebSetup项目à视图à在文件系统,右击Web应用程序文件夹à添加à项目输出à选择WebInstall(主输出)à确定
8)在解决方案资源管理器中右击àWebSetup项目à视图à自定义操作,在自定义操作界面区中右击安装à添加自定义操作à在Web应用程序文件夹à主输出来自WebInstall(活动)
添加完后右击主输出来自WebInstall(活动)à属性,把customeActionData设置为/dbname=[PARA1](此处的dbname为要接受的参数名,PARA1就是前面添加的文本框中Edit1property)。
9)编译WebSetup程序就可以了。
如果有两个或者多个数据库时,就把文本框的其他输入框设置为true(Edit2Visible, Edit3Visible , Edit4Visible),并且在自定义操作中把customeActionData属性改为/dbname1=[PARA1] /dbname2=[PARA2] /dbname3=[PARA3] /dbname4=[PARA4](有几个写几个)中间必须用一个空格分隔。
1) 在用户界面添à右击à添加对话框文本框(A)如果添加了文本框则必须要上移(右击要上移的文本框à上移)到安装地址之上。
2) 如果只安装一个数据库就把其Edit2Visible,Edit3Visible,Edit4Visible设置为false.把Edit1property定义一个变量名,例如PARA1。
3) 自定义用户操作,在资源管理器界面右击资源管理器à新建àC#(也可以是VB.NET),选择类库,命名为WebInstall 。
4) 新建项目会自动生成一个class1.cs文件,把次文件删除。右击WebInstall添加新项à安装类,命名为Install.cs。
5)右击Install.csà视图设计界面,然后在服务器资源管理器中添加数据库master的连接,添加好后把这个连接拖到Install的设计界面。
6)在Install.cs文件中添加以下代码
注:要添加应用添加应用
using System.Reflection;
using System.Data;
using System.Data.SqlClient;
using System.IO;
安装数据库代码
/// <summary>
/// 获得配置文件中嵌入的文本文件
/// </summary>
/// <param name="Name">文件名</param>
/// <returns></returns>
private string GetSql(string Name)
{
Assembly Asm = Assembly.GetExecutingAssembly();
Stream strm = Asm.GetManifestResourceStream(Asm.GetName().Name + "."+Name);
StreamReader reader = new StreamReader(strm);
return reader.ReadToEnd();
}
/// <summary>
/// 指定的数据库执行SQL语句
/// </summary>
/// <param name="DatabaseName">数据库名</param>
/// <param name="sqlstring">SQL语句</param>
/// <returns></returns>
private void ExecuteSql(string DataBaseName,string sqlstring)
{
System.Data.SqlClient.SqlCommand Command = new System.Data.SqlClient.SqlCommand(sqlstring,sqlConn);
Command.Connection.Open();
Command.Connection.ChangeDatabase(DataBaseName);
try
{
Command.ExecuteNonQuery();
}
finally
{
Command.Connection.Close();
}
}
/// <summary>
/// 创建数据库及数据库表
/// </summary>
/// <param name="DBName">数据库名</param>
/// <param name="assemblyName">配件中数据库脚本资源的名称</param>
/// <returns></returns>
protected bool CreateDBAndTable(string DBName)
{
bool Restult = false;
try
{
ExecuteSql("master","CREATE DATABASE " + DBName);
ExecuteSql(DBName,GetSql("bbssql.txt"));
Restult = true;
}
catch(Exception ex)
{
//次段代码为调试用可以不添加
StreamWriter sw = new StreamWriter(@"c:\SrInforSys.txt");
sw.WriteLine("[SrInforSys案装错误]");
sw.WriteLine(ex.Message.ToString());
sw.Close();
}
return Restult;
}
/// <summary>
/// 安装数据库
/// </summary>
/// <param name="stateSaver"></param>
public override void Install(IDictionary stateSaver)
{
base.Install (stateSaver);
if(!CreateDBAndTable(this.Context.Parameters["dbname1"].ToString()))
throw new ApplicationException("创建数据库时出现严重错误!");
}
在添加安装数据库时一定要有创建数据库的脚本,并且把它存为.txt文件添加到WebInstall项目中了,右击该文件(例如,database.txt)à属性à生成操作,该为嵌入资源(这点很中要)。
7)生成WebInstall.dll文件。在解决方案资源管理器中右击àWebSetup项目à视图à在文件系统,右击Web应用程序文件夹à添加à项目输出à选择WebInstall(主输出)à确定
8)在解决方案资源管理器中右击àWebSetup项目à视图à自定义操作,在自定义操作界面区中右击安装à添加自定义操作à在Web应用程序文件夹à主输出来自WebInstall(活动)
添加完后右击主输出来自WebInstall(活动)à属性,把customeActionData设置为/dbname=[PARA1](此处的dbname为要接受的参数名,PARA1就是前面添加的文本框中Edit1property)。
9)编译WebSetup程序就可以了。
如果有两个或者多个数据库时,就把文本框的其他输入框设置为true(Edit2Visible, Edit3Visible , Edit4Visible),并且在自定义操作中把customeActionData属性改为/dbname1=[PARA1] /dbname2=[PARA2] /dbname3=[PARA3] /dbname4=[PARA4](有几个写几个)中间必须用一个空格分隔。
相关文章推荐
- sql server数据库安装时选择的是“windows身份验证模式”在.net中的数据库操作的解决
- 添加自定义操作后,安装时未能找到.installstate文件的问题
- 添加自定义操作后,安装时未能找到.installstate文件的问题
- sql server数据库安装时选择的是“windows身份验证模式”在.net中的数据库操作的解决
- c#,自定义安装,部署,创建自定义操作,自定义操作,安装验证,数据库,安装授权码,接收输入,判断
- sql server数据库安装时选择的是“windows身份验证模式”在.net中的数据库操作的解决 [转载]
- .net 映射数据库操作--自定义属性忽略字段
- c#,自定义安装,部署,创建自定义操作,自定义操作,安装验证,数据库,安装授权码,接收输入,判断
- c#,自定义安装,部署,创建自定义操作,自定义操作,安装验证,数据库,安装授权码,接收输入,判断
- JDBC中Statement操作数据库 添加数据
- RedHat 5.6_x86_64 + ASM + RAW+ Oracle 10g RAC (九) 添加节点—安装数据库软件
- 关于使用Visual Studio 2008 建立Setup And Deployment Project(安装与部署项目)制作安装.net 安装程序,插入Custom Actions(自定义动作)的办法
- 用oralce连接.net客户端出现问题:“数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组
- .net打包自动安装数据库!
- .net 操作PostGreSql数据库
- linux 创建新用户添加到sudo用户组及基本安装操作等
- 自定义封装简单的基于FMDB以及数据model的数据库操作
- 简单数据库操作代码(添加删除修改读取)
- vc++学生选课系统开发 sql 操作数据库添加数据 管理员对学生信息的添加
- MongoDB创建表步骤,Mongo常用的数据库操作命令,查询,添加,更新,删除_MongoDB 性能监测