ClickOnce,SQLExpress和预测名称

时间:2009-05-27 14:28:16

标签: clickonce connection-string sql-server-express

我有一个winform应用程序需要安装SQLExpress。如何预测将调用SQL实例的内容,以便我的连接字符串仍可正常工作。 ./SQLEXPRESS? 用户名/ SQLEXPRESS? 或完全不同的东西?

谢谢!

2 个答案:

答案 0 :(得分:4)

首先,将数据库部署为数据文件。然后将它放入ApplicationDeployment.DataDirectory(部署时)或Application.StartupPath(当您进行测试时)定义的文件夹中。

然后,您需要检查程序运行的上下文:

string databaseLocation;
if (ApplicationDeployment.IsNetworkDeployed)
{
    databaseLocation = ApplicationDeployment.CurrentDeployment.DataDirectory;
}
else
{  
    databaseLocation = System.Windows.Forms.Application.StartupPath;
}
databaseLocation = System.IO.Path.Combine(databaseLocation, "databasename.mdf");

答案 1 :(得分:0)

为什么你的连接字符串是硬编码的?您真的应该让最终用户可以选择更改数据库所在的位置。