开发者

SqlConnection in C#

In VB.NET I can use:

Protected Conn As New SqlConnection(ConfigurationManager.Conne开发者_如何学PythonctionStrings("Active").ConnectionString)

However, when I do the following in C#:

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

I get the error:

The name 'ConfigurationManager' does not exist in the current context

Then if I change it to:

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

I get the error:

Non-invocable member 'System.Configuration.ConfigurationManager.ConnectionStrings' cannot be used like a method.

Why is this and how can I connect to my SQL Server database using C#?


Try like this:

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

Notice the [] instead of () which is what is used to access an element of an array in C#. Also notice the usage of the .ConnectionString property call as the SqlConnection constructor expects a string.


Change the last pair of parentheses to square brackets. In C#, parentheses are used in method calls, whether square brackets are used to access members inside a collection (or so).

In addition, use the using clause to ensure that the connection is always closed and disposed when you go out of scope:

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

Read about it here: http://msdn.microsoft.com/en-us/library/yh598w02(v=vs.80).aspx


In C#, you read collections using square bracket syntax:

e.g.

string[] strings = new[] { "first", "second", "third" };

string secondString = strings[1];

So you access the Configuration collection like this:

ConfigurationManager.ConnectionStrings["conn"];
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜