微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

安装

添加一个新项目->选择类库模板->命名为DBCustomAction 2、单击项目右键->添加新项->选择安装程序类(命名为DBCustomAction.cs) 3、在 服务器资源管理器中添加->连接到 数据库->指定用户密码(选择允许保存密码)-> 数据库选择master 4、切换到DBCustomAction.cs的视图状态->将 服务器资源管理器 数据库连接中的master.dbo拖动到designer中 5、添加一个新项sql.txt(注意要使用小写),输入下列sql代码 CREATE TABLE [dbo].[MK_Employees] ( [Name] [char] (30) COLLATE sql_latin1_General_CP1_CI_AS NOT NULL,[Rsvp] [int] NULL,[Requests] [nvarchar] (4000) COLLATE sql_latin1_General_CP1_CI_AS NULL  ) ON [PRIMARY];

ALTER TABLE [dbo].[MK_Employees] WITH NOCHECK ADD  CONSTRAINT [PK_MK_Employees] PRIMARY KEY CLUSTERED  ( [Name] ) ON [PRIMARY]; (P.S:也可以直接用sqlServer导出)

6、在sql.txt的右键属性中->生成操作->嵌入的资源 7、将DBCustomAction.cs切换到代码视图,添加下列代码 private  string Getsql(string Name)       {          try          {             Assembly Asm = Assembly.GetExecutingAssembly();             Stream strm = Asm.GetManifestResourceStream(Asm.GetName().Name + "."+Name);             StreamReader reader = new StreamReader(strm);             return reader.ReadToEnd();          }          catch (Exception ex)          {             Console.Write("In Getsql:"+ex.Message);             throw ex;          }       }

      private void Executesql(string DataBaseName,string sql)       {          System.Data.sqlClient.sqlCommand Command = new System.Data.sqlClient.sqlCommand(sql,sqlConnection1);

         Command.Connection.open();          Command.Connection.ChangeDatabase(DataBaseName);          try          {             Command.ExecuteNonQuery();          }          finally          {             Command.Connection.Close();          }       }

      protected void AddDBTable(string strdbname)       {          try          {             Executesql("master","CREATE DATABASE "+ strdbname);             Executesql(strdbname,Getsql("sql.txt"));          }          catch(Exception ex)          {                Console.Write("In exception handler :"+ex.Message);          }       }

      public override void Install(System.Collections.IDictionary stateSaver)       {           base.Install(stateSaver);              AddDBTable(this.Context.Parameters["dbname"]);       }

8、再添加一个新项目,(选择添加解决方案中)->项目类型为安装项目->命名为DBCustomAction Installer 9、选择应用程序文件夹->添加->项目输出->主输出 10、在方案资源管理器中->右键安装项目(DBCustomAction Installer)->视图->用户界面 11、选中启动结点->添加对话框->文本A 12、选动文本框A->右键->上移一直到最顶端 13、选择文本框A属性->修改BannerText,(Specify Database Name) 14、修改BodyText(This dialog allows you to specify the name of the database to be created on the database server. ) 15、修改EditLabel1(Name of DB),修改Edit1Porperty(CUSTOMTEXTA1),将其他Edit2,3,4的Edit(2,4)Visible属性设为false; 16、在方案资源管理器中->右键安装项目(DBCustomAction Installer)->视图->自定义操作 17、选中安装结点->添加->双击应用程序文件夹->主输出来自DBCustomAction(活动)->右键属性->CustomActiveData属性修改为/dbname=[CUSTOMTEXTA1] 18、编译生成,OK!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐