解决方案 »

  1.   

     E:\asonetwenzhao\Company Manage\FindProject\Projects\FindSourceProject\FindSourceProject\admin\ManagerOrders.aspx.cs:line 109你这里有问题说
      

  2.   

    那里只是做了个分页没有问题啊,  现在的问题是我只要是链接远程服务器上的数据库多点几下都会导致IIS死机,需要重启IIS才可以,这是为什么?
      

  3.   

    Exception information: 
        Exception type: ArgumentNullException 
        Exception message: Value cannot be null.
    Parameter name: table Stack trace:    at System.Data.DataTableExtensions.AsDataView(DataTable table)
       at FindSourceProject.admin.ManagerOrders.pg(DataTable table) in E:\asonetwenzhao\Company Manage\FindProject\Projects\FindSourceProject\FindSourceProject\admin\ManagerOrders.aspx.cs:line 109
      

  4.   

    public   class SQLHelper
        {
            public static readonly string scon =System.Web.Configuration.WebConfigurationManager.AppSettings["keys"].ToString();        /// <summary>
            /// 执行查询语句
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="parater"></param>
            /// <returns>返回查到的行数</returns>
            public int SelectTable(string sql, params SqlParameter[] parater)
            {
                using (SqlConnection conn = new SqlConnection(scon))
                {
                    if (conn.State == ConnectionState.Closed)
                    {
                        conn.Open();
                    }
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                       
                        for (int i = 0; i < parater.Count(); i++)
                        {
                            cmd.Parameters.Add(parater[i]);
                        }
                        return (int)cmd.ExecuteScalar();
                    }
                }        }        /// <summary>
            ///   读取数据库中指定列的数据
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="parater"></param>
            /// <returns>返回读取到的SqlDataReader</returns>
            public SqlDataReader ReaderTable(string sql, params SqlParameter[] parater)
            {
                using(SqlConnection conn = new SqlConnection(scon)){
                
                    if (conn.State == ConnectionState.Closed)
                    {
                        conn.Open();
                    }
                   using( SqlCommand cmd = new SqlCommand(sql, conn)){
                   
                        for (int i = 0; i < parater.Count(); i++)
                        {
                            cmd.Parameters.Add(parater[i]);
                        }
                        var reader = cmd.ExecuteReader();
                        return reader;
                   }
            }
            }        /// <summary>
            /// 更新数据库存表
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="parater"></param>
            /// <returns>返回更新的行数</returns>
            public int UpdateTable(string sql, params SqlParameter[] parater)
            {
                using (SqlConnection conn = new SqlConnection(scon))
                {
                    if (conn.State == ConnectionState.Closed)
                    {
                        conn.Open();
                    }
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        for (int i = 0; i < parater.Count(); i++)
                        {
                            cmd.Parameters.Add(parater[i]);
                        }
                       return cmd.ExecuteNonQuery();
                    }
                }
            }        /// <summary>
            /// 插入数据到数据库
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="parater"></param>
            /// <returns>返回插入记录的条数</returns>
            public int InsertTable(string sql, params SqlParameter[] parater) {
                using (SqlConnection conn = new SqlConnection(scon))
                {
                    if (conn.State == ConnectionState.Closed)
                    {
                        conn.Open();
                    }
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        for (int i = 0; i < parater.Count(); i++)
                        {
                            cmd.Parameters.Add(parater[i]);
                        }
                        return cmd.ExecuteNonQuery();
                    }
                } 
            }        /// <summary>
            ///  查找数据表
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="parater"></param>
            /// <returns>返回DataTable</returns>
            public DataTable GetTable(string sql, params SqlParameter[] parater)
            {
                using (SqlConnection conn = new SqlConnection(scon))
                {
                    if (conn.State == ConnectionState.Closed)
                    {
                        conn.Open();
                    }
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        for (int i = 0; i < parater.Count(); i++)
                        {
                            cmd.Parameters.Add(parater[i]);
                        }
                        DataSet data = new DataSet();
                        var adapter = new SqlDataAdapter(cmd);
                        adapter.Fill(data);
                      return data.Tables[0];
                    }
                }
            }        /// <summary>
            /// 删除记录
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="parater"></param>
            /// <returns>删除的行数</returns>
            public int DeleTable(string sql, params SqlParameter[] parater) {
                using (SqlConnection conn = new SqlConnection(scon))
                {
                    if (conn.State == ConnectionState.Closed)
                    {
                        conn.Open();
                    }
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        for (int i = 0; i < parater.Count(); i++)
                        {
                            cmd.Parameters.Add(parater[i]);
                        }
                        return cmd.ExecuteNonQuery();
                    }
                } 
            }
        }   这是我的数据库链接文件  都已经关闭了 现在就是访问那个程序都会让IIS死机 都需要重启IIS
    而且会出现这样的问题:
    超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。 
     说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 
     
    异常详细信息: System.InvalidOperationException: 超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。
     
      

  5.   

    调用ReaderTable时关闭了吗?它是保持连接的
    using(var reader = ReaderTable())
    {}
      

  6.   

       using( SqlCommand cmd = new SqlCommand(sql, conn)){
                    
                         for (int i = 0; i < parater.Count(); i++)
                         {
                             cmd.Parameters.Add(parater[i]);
                         }
                         var reader = cmd.ExecuteReader();
                         return reader;
                    }这里不是已经关闭了嘛关闭CMD了
      

  7.   

    Exception information: 
        Exception type: ArgumentNullException 
        Exception message: Value cannot be null.
    Parameter name: table 
    空字符串,值不能是空的
    我遇到的是超时过期,但不知道如何解决