c#DB相关错误

c#DB相关错误,c#,sql,asp.net,sql-server,C#,Sql,Asp.net,Sql Server,以下是连接字符串: <connectionStrings> <add name="DBConnection" connectionString="Data Source=Personal-PC;Initial Catalog=LocalDB;Persist Security Info=True;User ID=google;Password=google" providerName="System.Data.SqlClient" /> </connectio

以下是连接字符串:

<connectionStrings>
    <add name="DBConnection" connectionString="Data Source=Personal-PC;Initial Catalog=LocalDB;Persist Security Info=True;User ID=google;Password=google" providerName="System.Data.SqlClient" />
</connectionStrings>

您应该使用
WebConfigurationManager
而不是
ConfigurationManager
来读取
web.config
文件


操作方法是,只需要在您的案例中替换类的名称。

此序列将杀死您:

objsqlconn.Close();
objsqlconn.Dispose();
objsqlconn.Open();
一旦释放了连接对象,就不能使用它。实际上,您可以大大简化整个方法:

public void ExecuteSQL(string sqlstring, IEnumerable<SqlParameter> sqlparam)
{
    using (SqlConnection cn = new SqlConnection(connectionString))
    using (SqlCommand cmd = new SqlCommand(sqlstring, objsqlconn))
    {
        cmd.Parameters.AddRange(sqlparam.ToArray());
        cn.Open();
        cmd.ExecuteNonQuery();
    }
}
public void ExecuteSQL(字符串sqlstring,IEnumerable sqlparam)
{
使用(SqlConnection cn=newsqlconnection(connectionString))
使用(SqlCommand cmd=newsqlcommand(sqlstring,objsqlconn))
{
cmd.Parameters.AddRange(sqlparam.ToArray());
cn.Open();
cmd.ExecuteNonQuery();
}
}

只需查看消息“ConnectionString属性尚未初始化”。@user2721764:所有对象都将在页面生命周期结束时释放。这可能就是原因。显示指定连接字符串的方法以及使用连接的位置。上面的代码无法编译,因为
connectionString
是一个字段。因为每次可以用
if(objsqlconn.State!=ConnectionState.Open)
替换
if(true)
时,您都在重建对象。现在,您省略了该字段
connectionString
。另一方面,您应该使用
throw
(或省略
Catch
)而不是
throw new Exception(例如Message)
来保留原始堆栈跟踪,包括行号。您确定不需要
WebConfigurationManager
而不是
ConfigurationManager
。很简单,我们都错过了它。您还没有失去编程技能;)
objsqlconn.Close();
objsqlconn.Dispose();
objsqlconn.Open();
public void ExecuteSQL(string sqlstring, IEnumerable<SqlParameter> sqlparam)
{
    using (SqlConnection cn = new SqlConnection(connectionString))
    using (SqlCommand cmd = new SqlCommand(sqlstring, objsqlconn))
    {
        cmd.Parameters.AddRange(sqlparam.ToArray());
        cn.Open();
        cmd.ExecuteNonQuery();
    }
}