安装程序自动安装数据库


添加新项中添加安装程序类 

安装程序自动安装数据库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
安装程序自动安装数据库
安装程序自动安装数据库        
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
安装程序自动安装数据库            
{
安装程序自动安装数据库                
安装程序自动安装数据库            }

安装程序自动安装数据库        }

安装程序自动安装数据库        
安装程序自动安装数据库
安装程序自动安装数据库    }

安装程序自动安装数据库}



本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2005/10/25/262046.html,如需转载请自行联系原作者
上一篇:[转]"此数据库没有有效所有者,因此无法安装数据库关系图支持对象"的解决方法


下一篇:SQL游标原理和使用方法