不能键入“串”隐式转换为“System.Data.SqlClient.Sqlconnection”
我收到此错误:不能键入“串”隐式转换为“System.Data.SqlClient.Sqlconnection”
cannot implicitly convert type 'string' to 'System.Data.SqlClient.Sqlconnection'
此代码:
SqlConnection con1 = ConfigurationManager.ConnectionStrings["connect"].ConnectionString;
我该如何解决这个问题?我正在使用Windows应用程序。
回答:
这是你所需要的:
using(SqlConnection con1 = new SqlConnection(ConfigurationManager.ConnectionStrings["connect"].ConnectionString)) {
// do something with con1
}
注:这是比其他答案更好,因为它包含另一个提示:使用using关键字,以保证您的连接对象的处理,从而防止连接池的问题。 :)
您在第一个位置得到错误的原因是您试图将一个字符串值(ConfigurationManager.ConnectionStrings [“connect”] .ConnectionString)分配给SqlConnection类型的变量。
我建议你在C#中学习更多关于变量类型,变量转换和类型赋值的知识,它将使编码变得更加愉悦(不那么令人沮丧)。
祝你好运!
回答:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connect"].ConnectionString);
回答:
ConfigurationManager.ConnectionStrings["connect"].ConnectionString
是保存连接信息的字符串。
您需要创建一个SqlConnection实例并传入连接字符串值。
的SqlConnection的SqlConnection =新SqlConnection(ConfigurationManager.ConnectionStrings["connect"].ConnectionString);
回答:
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())
{
}
}
}
以上是 不能键入“串”隐式转换为“System.Data.SqlClient.Sqlconnection” 的全部内容, 来源链接: utcz.com/qa/259972.html