我正在使用以下代码
SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\mr\\Desktop\\ment Final\\ment Final\\App_Data\\LoginStuff.mdf;Integrated Security=True;User Instance=True");
因此,每次在新PC上运行项目时,我都必须一次又一次地更改所有数据源。有什么可以避免的吗?
答案 0 :(得分:4)
而是使用连接字符串和web.config来简化更改。
web.config示例:
<configuration>
<connectionStrings>
<add name="LoginDB" connectionString="Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\mr\\Desktop\\ment Final\\ment Final\\App_Data\\LoginStuff.mdf;Integrated Security=True;User Instance=True" />
</connectionStrings>
</configuration>
将您的代码更改为:
SqlConnection con = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["LoginDB"].ConnectionString);
您可能已经在项目的根目录中有了一个web.config,您可以简单地添加此connectionStrings部分,或者只是在该部分已存在的情况下添加此新连接字符串!
答案 1 :(得分:0)
使用配置文件。可以在项目的根目录中找到ASP.NET中的web.config和类和Windows项目中的app.config
<connectionString>
<add
name="connStr"
connectionstring="Server=myServerAddress;
Database=myDataBase;
Trusted_Connection=True;"
</connectionString>
在cs
SqlConnection conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
答案 2 :(得分:0)
要重申Amit和Subterfuge上面所说的内容,您的连接字符串应存储在配置文件中而不是代码中。这些方法不会解决您仍然需要在每台机器上修改连接字符串的问题。相反,我建议您为本地开发创建约定,并在开发/登台/生产环境之间使用配置转换。
地方发展大会 如果您将数据库放在每台计算机上的相同位置,那么最容易在本地针对您的代码进行开发。 .NET约定是在项目的根文件夹中使用app_data folder。如果将数据库放在正在开发的每台计算机上的此文件夹中,则无需更改连接字符串。
例如,将LoginStuff.mdf复制到项目的/ app_data文件夹中(如果该文件夹不存在,则创建该文件夹)。将您的连接字符串更改为:
<connectionString>
<add name="loginStuff" connectionstring="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|LoginStuff.mdf;User Instance=true"
</connectionString>
然后在代码中,您可以通过向System.Configuration添加using然后引用连接字符串来引用它:
var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["loginStuff"].ConnectionString);
环境之间 在环境(调试,发布等)之间,您可以使用configuration transforms自动修改web.config。对于每个环境,您需要在项目的根目录中创建Web。{environment} .config文件。使用XML转换指定修改配置文件的方式。
这些应涵盖您最常见的两种情况。干杯!