在程序中加入这段代码后就报错
  using (DA.DataAccess.conn_WebMarket())
            {
                for (int i = 0; i < 1001; i++)
                {
                    string sql = "Insert Into news(title,inputtime,content) Values('教习昆山三一沉机粗害造造改造','2009-1-1','教习昆山三一沉机粗害造造改造')";                    DA.DataAccess.ExecuteNonQuery(DA.DataAccess.conn_WebMarket(), CommandType.Text, sql);
                }
            }
打开数据库,发现只插入了一百多条
报的错如标题

解决方案 »

  1.   

    每做一次循环,就打开一个连接,而且只有出了using才会释放资源,你这样连接池早被你耗光了
      

  2.   

    用Connection对象的地方都在Close()后面加上Dispose()调用。 
    对数据库操作进行大修改,建立数据库操作类,继承System.IDisposable接口,强迫释放资源
    for (int i = 0; i < 1001; i++) 
                    { 
                     using (DA.DataAccess.conn_WebMarket()) 
                      {
                    } 
                } 
      

  3.   

    程序改为如下,
     DA.DataAccess.conn_WebMarket().Open();
                    for (int i = 0; i < 1001; i++)
                    {
                        string sql = "Insert Into news(title,inputtime,content) Values('教习昆山三一沉机粗害造造改造','2009-1-1','教习昆山三一沉机粗害造造改造')";                    DA.DataAccess.ExecuteNonQuery(DA.DataAccess.conn_WebMarket(), CommandType.Text, sql);
                    }                DA.DataAccess.conn_WebMarket().Close();
    报同样的错
      

  4.   

    这样改:
     for(int i=0;i<1001;i++)
     {
        using (DA.DataAccess.conn_WebMarket()) 
        {
           .....
        }
     }
    你上面的改法仍然是要等到插入所有数据才关闭连接.
      

  5.   


    做你的做法,不行呀
    for (int i = 0; i < 1001; i++)
                    {
                        using (DA.DataAccess.conn_WebMarket())
                        {
                        string sql = "Insert Into news(title,inputtime,content) Values('教习昆山三一沉机粗害造造改造','2009-1-1','教习昆山三一沉机粗害造造改造')";                    DA.DataAccess.ExecuteNonQuery(DA.DataAccess.conn_WebMarket(), CommandType.Text, sql);
                       }
                    }
      

  6.   

    检查DA.DataAccess.ExecuteNonQuery里代码,是否数据库操作类问题
      

  7.   

    DA.DataAccess.ExecuteNonQuery用的是sqlhelper,刚才上网查了一下,
    好象微软的这东西有点问题的,
    public static int ExecuteNonQuery(SqlConnection connection, CommandType commandType, string commandText)
    {
    return SQLhelper.SqlHelper.ExecuteNonQuery(connection, commandType,commandText); }
    public static int ExecuteNonQuery(SqlConnection connection, CommandType commandType, string commandText,System.Data.SqlClient.SqlParameter[] sqlpara)
    {
    return SQLhelper.SqlHelper.ExecuteNonQuery(connection, commandType, commandText,sqlpara); }
      

  8.   

    貌似应该把你的 USING 放 FOR 里面吧
      

  9.   

    楼主检查一下这个方法里的代码:
    DA.DataAccess.ExecuteNonQuery(DA.DataAccess.conn_WebMarket(), CommandType.Text, sql); 加红的这个参数,是不是在这方法里重新打开了一个连接。
      

  10.   

    楼主检查一下这个方法里的代码:
    DA.DataAccess.ExecuteNonQuery(DA.DataAccess.conn_WebMarket(), CommandType.Text, sql); 加红的这个参数,是不是在这方法里重新打开了一个连接。