C# 中的 SqlConnection

4

在VB.NET中,我可以使用:

Protected Conn As New SqlConnection(ConfigurationManager.ConnectionStrings("Active").ConnectionString)

然而,当我在C#中执行以下操作时:

protected SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings("conn"));

我遇到了如下错误:

当前上下文中不存在名称为'ConfigurationManager'的内容

如果我将其更改为:

protected SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("conn"));

我遇到了以下错误:

无法像调用方法一样使用非可调用成员“System.Configuration.ConfigurationManager.ConnectionStrings”。

为什么会出现这个问题?如何使用C#连接到我的SQL Server数据库呢?
3个回答

11

试试这样:

protected SqlConnection conn = new SqlConnection(
    ConfigurationManager.ConnectionStrings["conn"].ConnectionString
);

注意使用[]而不是()来访问C#中的数组元素。同时注意.ConnectionString属性的使用,因为SqlConnection构造函数需要一个字符串。


我仍然收到“当前上下文中不存在ConfigurationManager名称”的错误。但是我已经将“System.Configuration”添加到我的引用中。 - Curtis
2
@Curt - 尝试在顶部添加 "using System.Configuration;"。并记得像Ofer Zelig建议的那样也使用using语句。 - TrueWill
@Curt,请确保你已经将 System.Configuration 程序集引用到你的项目中,并且添加了 using System.Configuration 语句以便将 ConfigurationManager 类引入作用域。 - Darin Dimitrov
我肯定已经引用了它,而且我也使用了 using System.Configuration... 非常困惑。 - Curtis

8

将最后一对括号改为方括号。 在C#中,括号用于方法调用,而方括号用于访问集合内部的成员(或类似操作)。

此外,使用using子句确保在范围外时始终关闭和处理连接:

using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["conn"]))
{
...
}

点击此处阅读相关信息:http://msdn.microsoft.com/en-us/library/yh598w02(v=vs.80).aspx


2
在C#中,您使用方括号语法来读取集合:
例如:
string[] strings = new[] { "first", "second", "third" };

string secondString = strings[1];

那么您可以像这样访问配置集合:

ConfigurationManager.ConnectionStrings["conn"];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接