Не удается неявно преобразовать тип 'string' в 'System.Data.SqlClient.Sqlconnection' - PullRequest
3 голосов
/ 07 июня 2011

Я получаю эту ошибку:

не может неявно преобразовать тип 'string' в 'System.Data.SqlClient.Sqlconnection'

для этого кода:

SqlConnection con1 = ConfigurationManager.ConnectionStrings["connect"].ConnectionString;

Как мне решить эту проблему?Я работаю с приложением Windows.

Ответы [ 4 ]

15 голосов
/ 07 июня 2011

Это то, что вам нужно:

using(SqlConnection con1 = new SqlConnection(ConfigurationManager.ConnectionStrings["connect"].ConnectionString))
{
   // do something with con1
}

Примечание: это лучше, чем другие ответы, потому что включает в себя еще одну подсказку: используйте ключевое слово using для гарантии удаления объекта соединения и, следовательно, предотвращения проблем пула соединений,:)

Причина, по которой вы получили ошибку в первом месте, заключается в том, что вы пытались присвоить строковое значение (ConfigurationManager.ConnectionStrings ["connect"]. ConnectionString) переменной типа SqlConnection.

Я предлагаю вам больше узнать о типизации переменных, приведении переменных и назначениях типов в C #, это сделает кодирование гораздо более приятным (менее неприятным) опытом.

Удачи!

3 голосов
/ 07 июня 2011
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connect"].ConnectionString);
1 голос
/ 07 июня 2011

ConfigurationManager.ConnectionStrings["connect"].ConnectionString - это строка для хранения информации о соединении.

Вам необходимо создать экземпляр SqlConnection и передать значение строки соединения.

SqlConnection sqlConnection = новый SqlConnection(ConfigurationManager.ConnectionStrings["connect"].ConnectionString);

0 голосов
/ 07 июня 2011
using (System.Data.SqlClient.SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["connect"].ConnectionString)) { 
    con.Open(); 
    SqlCommand cmd = new SqlCommand(); 
    string expression = "Parameter value"; 
    cmd.CommandType = CommandType.StoredProcedure; 
    cmd.CommandText = "Your Stored Procedure"; 
    cmd.Parameters.Add("Your Parameter Name", 
                SqlDbType.VarChar).Value = expression;    
    cmd.Connection = con; 
    using (IDataReader dr = cmd.ExecuteReader()) 
    { 
        if (dr.Read()) 
        { 
        } 
    } 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...