说明一下:多开几个窗口不停的点,操作过快时有时出现这样的错误,可刷新一下又正常了,为什么啊?错误如下:已关闭 Safe handle 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Exception: 已关闭 Safe handle源错误: 
行 224:        catch(Exception e)
行 225:        {
行 226:            throw new Exception(e.Message);
行 227:        }
行 228:    }
 源文件: f:\ycweb\App_Code\dbcon.cs    行: 226 堆栈跟踪: 
[Exception: 已关闭 Safe handle]
   fdbcon.getdataview(String sqlstr) in f:\ycweb\App_Code\dbcon.cs:226
   share_vippic.zjpicbind() in f:\ycweb\share\vippic.ascx.cs:55
   share_vippic.Page_Load(Object sender, EventArgs e) in f:\ycweb\share\vippic.ascx.cs:47
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +50
   System.Web.UI.Control.LoadRecursive() +141
   System.Web.UI.Control.LoadRecursive() +141
   System.Web.UI.Control.LoadRecursive() +141
   System.Web.UI.Control.LoadRecursive() +141
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627----------------------------------------------------------------------
dbcon.cs  226处代码如下:
public static DataView getdataview(string sqlstr)
    {
        try
        {
            openConnection();
            OleDbDataAdapter adp = new OleDbDataAdapter(sqlstr,con);
            DataSet rs = new DataSet();
            adp.Fill(rs);
            return rs.Tables[0].DefaultView;
        }
        catch(Exception e)
        {
            throw new Exception(e.Message);
        }
    }---------------------------------------------------------------------
vippic.ascx.cs:47、55处  的代码如下:protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            hd_zjtj2.Value = "1";
            if (this.type_b == "1")
            {
                sqlstr = "Select * From tb where ulistcom=1 and uvip=1 order by uupdate desc,uid desc";
            }
            else if (this.type_b == "2")
            {
                sqlstr = "Select * From tb where ulistcom=2 and uvip=1 order by uupdate desc,uid desc";
            }
            else if (this.type_b == "3")
            {
                sqlstr = "Select * From tb where ulistcom=3 and uvip=1 order by uupdate desc,uid desc";
            }
            else
            {
                sqlstr = "Select * From tb where ulistcom=4 and uvip=1 order by uupdate desc,uid desc";
            }
            zjpicbind();
        }
    }    private void zjpicbind()
    {
        int curPage2 = Convert.ToInt16(hd_zjtj2.Value);
        PagedDataSource ps2 = new PagedDataSource();
        ps2.DataSource = fdbcon.getdataview(sqlstr);
        ps2.AllowPaging = true;
        ps2.PageSize = 15;
        ps2.CurrentPageIndex = curPage2 - 1;
        imgbt_pic2.Enabled = true;
        if (curPage2 == 1)
        {
            imgbt_pic1.Enabled = false;
            imgbt_pic1.ImageUrl = "~/images/firstg1.gif";
        }
        if (curPage2 == ps2.PageCount)
        {
            imgbt_pic2.Enabled = false;
            imgbt_pic2.ImageUrl = "~/images/lastg2.gif";
        }
        dltzj.DataSource = ps2;
        dltzj.DataBind();
    }