我正在开发一个C#类。除了这个错误外,一切正常:
将'system.data.sqlclient.sqlconnection'转换为'string'
请给我回复以解决此错误。
代码:
public void CreateConn()
{
try
{
if (constr.State == 0)
{
constr.ConnectionString = strConnString;
constr.Open();
}
}
catch (Exception exp)
{
throw exp;
}
}
此行发生错误:
constr.ConnectionString = strConnString;
答案 0 :(得分:1)
使用ConfigurationManager返回的字符串
public void CreateConn()
{
if (constr.State == ConnectionState.Closed)
{
constr.ConnectionString = ConfigurationManager.ConnectionStrings
["RegistrationConnectionString"].ConnectionString;
constr.Open();
}
}
代码中的错误是尝试将SqlConnection的实例分配给ConnectionString属性,该属性是一个简单的字符串。
变量strConnString
具有误导性的名称,在这种情况下根本不需要。
请注意,我已经删除了无用的try / catch,因为您没有对异常执行任何操作,只需重新抛出它就会破坏异常数据中的堆栈信息。
要避免的另一件事(我认为你可能有问题按原样编译代码)是使用常量0来检查连接状态。你应该使用适当的枚举