这是错误信息:错误 14 “System.Data.SqlClient.SqlCommand.Dispose(bool)”不可访问,因为它受保护级别
下面是出错代码:
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
DataSet ds = new DataSet();
try
{
da.Fill(ds, "ds");
cmd.Parameters.Clear();
}
catch (SqlException ex)
{
throw new Exception(ex.Message);
}
finally
{
cmd.Dispose();
conn.Close();
}我看了自己程序中Dispose方法的定义:是sqlcommand中的 protected override void Dispose(bool disposing);另外一个程序中的定义为:component中的好像是自己写的一个监听System.ComponentModel.Component.Disposed 请问各位前辈:
①这两个都是我自己机子上的包,为什么两个的定义会不一样,是程序中的设置么?我没有在程序中找到
②我上面提到的那个错误怎么解决呢?Dispose方法Dbhelpersql
下面是出错代码:
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
DataSet ds = new DataSet();
try
{
da.Fill(ds, "ds");
cmd.Parameters.Clear();
}
catch (SqlException ex)
{
throw new Exception(ex.Message);
}
finally
{
cmd.Dispose();
conn.Close();
}我看了自己程序中Dispose方法的定义:是sqlcommand中的 protected override void Dispose(bool disposing);另外一个程序中的定义为:component中的好像是自己写的一个监听System.ComponentModel.Component.Disposed 请问各位前辈:
①这两个都是我自己机子上的包,为什么两个的定义会不一样,是程序中的设置么?我没有在程序中找到
②我上面提到的那个错误怎么解决呢?Dispose方法Dbhelpersql
而Dispose方法是在Component类中定义的,形式为public void Dispose();
它的重载形式为protected void Dispose(bool disposing);
一个可以外部调用,一个不行。其实Dispose()方法内部调用Dispose(true);代码上看,cmd.Dispose();应该没有问题