Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SqlConnection in C#

In VB.NET I can use:

Protected Conn As New SqlConnection(ConfigurationManager.ConnectionStrings("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#?

like image 825
Curtis Avatar asked Nov 30 '22 07:11

Curtis


2 Answers

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.

like image 175
Darin Dimitrov Avatar answered Dec 06 '22 11:12

Darin Dimitrov


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

like image 20
Ofer Zelig Avatar answered Dec 06 '22 10:12

Ofer Zelig