下面一段程序,那里还没有关闭啊?
SqlCommand pcmd = new SqlCommand();

//遍历FORM表单
for(int ii=0;ii<Request.Form.Count;ii++)
{

if(Request.Form[ii].ToString().Trim()!="" && Xh_Class.IsNumeric(Request.Form[ii].ToString().Trim()))
{
pcmd.CommandText = "update tb_votequestion set ps=ps+1 where id="+Request.Form[ii].ToString().Trim();
pcmd.Connection = MyConn;
pcmd.Connection.Open();
pcmd.ExecuteNonQuery();
pcmd.CommandText = "update tb_votetitle set vcount=vcount+1 where id="+Request.Form.Keys[ii].ToString();
pcmd.ExecuteNonQuery();
pcmd.Dispose();
MyConn.Close();
}
else if(Request.Form[ii].ToString().Trim().IndexOf(',')!=-1)
{
string strNum=Request.Form[ii].ToString().Trim();
string strId=Request.Form.Keys[ii].ToString();
string [] sz=strNum.Split(',');
for(int jj=0;jj<sz.Length;jj++)
{
pcmd.CommandText = "update tb_votequestion set ps=ps+1 where id="+sz[jj];
pcmd.Connection = MyConn;
pcmd.Connection.Open();
pcmd.ExecuteNonQuery();
}
pcmd.CommandText = "update tb_votetitle set vcount=vcount+1 where id="+strId;
pcmd.ExecuteNonQuery();
pcmd.Dispose();
MyConn.Close();
}

}
pcmd.Dispose();
MyConn.Close();

解决方案 »

  1.   

    pcmd.Connection.Open();
    pcmd.ExecuteNonQuery();
        con.close();
        con.open();
    pcmd.CommandText = "update tb_votetitle set vcount=vcount+1 where id="+Request.Form.Keys[ii].ToString();
    pcmd.ExecuteNonQuery();
      

  2.   

    一次 pcmd.Connection.Open(); 和MyConn.Close(); 就可以了,把这两个个提到循环外面去
      

  3.   

    还不如写个USING 就不用关闭了
      

  4.   

    for(int jj=0;jj<sz.Length;jj++)
    {
    pcmd.CommandText = "update tb_votequestion set ps=ps+1 where id="+sz[jj];
    pcmd.Connection = MyConn;
    pcmd.Connection.Open();
    pcmd.ExecuteNonQuery();
    }
    ---------建议不要使用这样的循环,多次访问数据库很影响dbserver的。
    你可以考虑拼接sql语句,然后再执行
      

  5.   

    pcmd.CommandText = "update tb_votequestion set ps=ps+1 where id="+Request.Form[ii].ToString().Trim();
    pcmd.Connection = MyConn;
    pcmd.Connection.Open();
    pcmd.ExecuteNonQuery();
    pcmd.Connection.Close();
    MyConn.Open();    //加上这两句试一下
    pcmd.CommandText = "update tb_votetitle set vcount=vcount+1 where id="+Request.Form.Keys[ii].ToString();
    pcmd.ExecuteNonQuery();
    pcmd.Dispose();
    MyConn.Close();