不能键入“串”隐式转换为“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

回到顶部