C#中的SqlConnection

Cur*_*urt 4 c# vb.net sqlconnection

在VB.NET中我可以使用:

Protected Conn As New SqlConnection(ConfigurationManager.ConnectionStrings("Active").ConnectionString)
Run Code Online (Sandbox Code Playgroud)

但是,当我在C#中执行以下操作时:

protected SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings("conn"));
Run Code Online (Sandbox Code Playgroud)

我收到错误:

"ConfigurationManager"名称在当前上下文中不存在

然后,如果我将其更改为:

protected SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("conn"));
Run Code Online (Sandbox Code Playgroud)

我收到错误:

不可调用的成员'System.Configuration.ConfigurationManager.ConnectionStrings'不能像方法一样使用.

为什么这样,我如何使用C#连接到我的SQL Server数据库?

Dar*_*rov 11

试试这样:

protected SqlConnection conn = new SqlConnection(
    ConfigurationManager.ConnectionStrings["conn"].ConnectionString
);
Run Code Online (Sandbox Code Playgroud)

请注意,[]而不是()用于在C#中访问数组元素的内容.还要注意.ConnectionString属性调用的用法,因为SqlConnection构造函数需要一个字符串.

  • @Curt - 尝试添加"using System.Configuration;" 在顶部.并且记得也像Ofer Zelig建议的那样使用using语句. (2认同)

Ofe*_*lig 7

将最后一对括号更改为方括号.在C#中,括号用于方法调用,是否使用方括号来访问集合内的成员(或左右).

此外,使用该using子句可确保在超出范围时始终关闭和处置连接:

using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["conn"]))
{
...
}
Run Code Online (Sandbox Code Playgroud)

在这里阅读:http://msdn.microsoft.com/en-us/library/yh598w02(v = vs.80).aspx