在文件后面的代码和web.config文件中定义SqlConnection之间有什么区别?

时间:2019-01-02 06:51:28

标签: asp.net sql-server sqlconnection

后面的代码中的arr=np_Array.files[0] np.savetxt("DF.csv", np_Array[arr], delimiter=",") SqlConnection中的连接字符串有什么区别?

隐藏代码:

web.config

Dim con As SqlConnection = New SqlConnection("Initial Catalog=Election;Data Source=xxx;User ID=xxx;Password=xxx;Persist Security Info=False; Connect Timeout=60")

web.config

4 个答案:

答案 0 :(得分:2)

代码中的SqlConnection是在运行时连接到数据库所需要的。但是,以这种方式初始化SqlConnection意味着您的应用程序只能以这种方式连接到SQL数据库。如果密码更改,或者如果应用程序需要其他连接,则必须重写并重新编译应用程序。

配置文件中的连接字符串是一种无需重新编译应用程序即可更改SQL连接字符串的机制。

Dim con As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("conn"))

答案 1 :(得分:1)

连接字符串是一个包含有关如何连接到数据库的信息的字符串。 SqlConnection对象是一个实际上包含数据库连接的对象,用于对它执行语句。

答案 2 :(得分:0)

据我所知

  

后面的代码中的SqlConnection与网络配置中的连接字符串有什么区别?

当前行为或工作方式没有任何区别,您可以将连接字符串放在代码本身或web.config文件中!

  

代码本身中的连接字符串:

如果将连接字符串放在代码本身中,例如:

Dim con As SqlConnection = New SqlConnection("Initial Catalog=Election;Data Source=xxx;User ID=xxx;Password=xxx;Persist Security Info=False; Connect Timeout=60")

如果更改了密码,或者有时您想要更改Connection Timeout = 90,则必须构建一个应用程序并必须发布以获取更新的更改。

  

web.config文件中的连接字符串:

<connectionStrings>
    <add name="constr" 
         connectionString="Initial Catalog=Election;Data Source=xxx;User ID=xxx;Password=xxx;Persist Security Info=False; Connect Timeout=60;Pooling=False" />
</connectionStrings>

访问后面的代码:

string ConStr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
Dim con As SqlConnection = New SqlConnection(ConStr)

如果更改密码或更改连接字符串中的任何内容,只需更改web.config文件,因为我们正在从web.config中动态读取连接字符串,因此每次您都将获取web.config中的字符串

答案 3 :(得分:0)

两者之间没有主要区别。两者都是如何为对象SQLCommand提供连接字符串的两种不同机制。

使用web.config并将其更改到生产服务器更为可行,而无需根据要求进行任何停机。

我们知道需要几次更改服务器名称,数据库名称,密码,超时等。当在后面的代码中定义它时,您首先需要重新编译并将其发布到服务器,这很耗时间和资源。

通常在需要动态提供连接时(例如,从下拉列表中选择或要根据日期进行更改等),通常在后面的代码中使用连接字符串。尽管这也可以在web.config中通过定义不同的连接字符串来完成并根据后面的代码中的条件来决定需要使用哪个。