动态sql连接字符串

时间:2013-06-06 10:58:18

标签: c# sql asp.net-mvc-4

我在我的mvc4应用程序中使用我的SQL连接,如下所示:

 public static string ConnectionString=@"Data Source=LocalDB)\v11.0;AttachDbFilename=C:\Users\..\Documents\Visual Studio 2012\Projects\..\..\App_Data\RoDB.mdf;Integrated Security=True";

我想动态地重写它。

当我更改系统时,我不想更改连接字符串。

4 个答案:

答案 0 :(得分:2)

如果使用“。\ SQLExpress”作为服务器名称,它将连接到本地实例。在这种情况下,您无需在不同的计算机上更改连接字符串。

答案 1 :(得分:1)

您可以在web.config文件中放置连接字符串,这意味着它不在应用程序代码中,也不需要重新构建即可更改。

<configuration>
    <!-- Other config settings -->
    <connectionStrings>
        <add name="localDBConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\..\Documents\Visual Studio 2012\Projects\..\..\App_Data\RoDB.mdf;Integrated Security=True" />
    </connectionStrings>
</configuration>

然后在您的应用程序中使用它,您可以将以下内容放在已编译的代码中:

string myConnectionString = ConfigurationManager.ConnectionStrings["localDBConnection"].ConnectionString;

答案 2 :(得分:0)

在您的应用程序中添加应用程序配置文件并在其中添加设置

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="ConnectionString" value="Data Source=LocalDB)\v11.0;AttachDbFilename=C:\Users\..\Documents\Visual Studio 2012\Projects\..\..\App_Data\RoDB.mdf;Integrated Security=True"/>
  </appSettings>
</configuration>
您可以在代码中

编写

string ConnectionString= System.Configuration.ConfigurationManager.AppSettings["ConnectionString"].ToString();

答案 3 :(得分:0)

使用网络配置有什么问题?我认为它几乎是标准的做法吗? 另请阅读使用相对路径。例如。 Relative to application location