#c# #.net #sql-server #winforms
#c# #.net #sql-сервер #winforms
Вопрос:
Я получаю эту ошибку:
не удается неявно преобразовать тип ‘string’ в ‘System.Data.SqlClient.Sqlconnection’
для этого кода:
SqlConnection con1 = ConfigurationManager.ConnectionStrings["connect"].ConnectionString;
Как мне решить эту проблему? Я работаю с приложением Windows.
Комментарии:
1. Вы действительно должны принять ответы, которые решили вашу проблему.
2. Спасибо всем, кто ответил на мой вопрос.
Ответ №1:
Это то, что вам нужно:
using(SqlConnection con1 = new SqlConnection(ConfigurationManager.ConnectionStrings["connect"].ConnectionString))
{
// do something with con1
}
Примечание: это лучше, чем другие ответы, потому что содержит еще один совет: используйте ключевое слово using, чтобы гарантировать удаление вашего объекта connection и, следовательно, предотвратить проблемы с пулом соединений. 🙂
Причина, по которой вы получали ошибку в первую очередь, заключается в том, что вы пытались присвоить строковое значение (ConfigurationManager.Строки подключения[«connect»].ConnectionString) в переменную типа SqlConnection.
Я предлагаю вам узнать больше о типировании переменных, приведении переменных и назначении типов в C #, это сделает кодирование намного более приятным (менее разочаровывающим) процессом.
Удачи!
Комментарии:
1. можете ли вы указать значение ConfigurationManager. Строки подключения[«connect»]. Строка подключения здесь
2. @DeveloperX — значение этого параметра будет зависеть от того, что находится в файле app.config.
3. не уверен, почему вы добавляете сюда этот комментарий developerx — возможно, вы имели в виду добавить его в исходный вопрос? не ясно, извините…
4. @Nathan: Спасибо. Ваш ответ помог мне решить проблему.
Ответ №2:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connect"].ConnectionString);
Ответ №3:
ConfigurationManager.ConnectionStrings["connect"].ConnectionString
является строкой, содержащей информацию о соединении.
Вам необходимо создать экземпляр SqlConnection и передать значение строки подключения.
SqlConnection SqlConnection = новый SqlConnection(ConfigurationManager.ConnectionStrings["connect"].ConnectionString);
Ответ №4:
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())
{
}
}
}