使用数据库进行设置和部署

时间:2015-05-15 05:34:10

标签: c# installation

我想创建一个我的c#windows应用程序项目的exe。我创建了exe。但我的问题是我不知道如何用这个exe包含数据库。因为现在我正在备份我的数据库并将此备份恢复到我想要安装我的exe的系统。数据库是在sql server2012中创建的。 在我的c#代码连接字符串中设置为我的系统服务器名称。因此,如果我想在另一个系统中安装它,我需要将此连接字符串更改为我要在其中安装我的exe的系统的服务器名称。但这在所有时间都是不可能的。那么有什么方法可以完成所有这些而不改变代码?我使用安装盾创建了exe。 感谢。

1 个答案:

答案 0 :(得分:0)

通常,数据库设置应该是可配置的,即用户通过应用程序UI设置设置,然后将其写入配置文件。如果通过具有硬编码的配置文件提供设置,则无需每次都构建exe。

为了获取现有数据库,如果服务器中的数据库不存在,则应对应用程序进行编码以创建空白数据库。现有数据可以通过应用程序的管理员模式导入,也可以在SQL Server中手动完成。

以下代码显示了如何在App.config文件中存储连接字符串。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <connectionStrings>
      <add name="MyDBConnectionString" providerName="System.Data.SqlClient"
            connectionString="Data Source=localhost;Initial Catalog=MySQLServerDB; Integrated Security=true" />
   </connectionStrings>
</configuration>

在App.config文件中保存连接字符串后,可以使用System.Configuration.ConfigurationManager类在代码中读取此连接字符串。

ConnectionStringSettings  conSettings = ConfigurationManager.ConnectionStrings["MyDBConnectionString"];

ConnectionStringsSettings类提供了读取程序中连接字符串设置的属性,如下面的代码所示。

string name = conSettings.Name; 
string providerName = conSettings.ProviderName;
string connectionString = conSettings.ConnectionString;

以上代码取自此link

有关详细示例,请查看CodeProject

上的这篇文章