public static void ExecutePorcedure(string procName, SqlParameter[] coll)
        {            int i = 0;            try
            {                i = getConn();                SqlCommand ocomm = new SqlCommand();                ocomm.Connection = sconn[i].conn;                sconn[i].sqlStr = procName;                openoconnection(i);                for (int j = 0; j < coll.Length; j++)
                {                    ocomm.Parameters.Add(coll[j]);                }                ocomm.CommandType = CommandType.StoredProcedure;                ocomm.CommandText = procName;                ocomm.ExecuteNonQuery();                ocomm.Parameters.Clear();                ocomm.Dispose();            }            catch (Exception e)
            {                errorConn++;                logError(e, procName);                sconn[i].error = e.ToString();                throw new Exception(e.Message);            }            finally
            {                freeConn(i);            }        }        /// <summary>        /// 执行Sql查询语句并返回SqlDataAdapter        /// </summary>        /// <param name="numConn">连接号</param>        /// <param name="sqlStr">传入的Sql语句</param>        public static SqlDataAdapter dataAdapter(SqlConnection Conn, String sqlStr)
        {            SqlDataAdapter ret = null;            try
            {                SqlCommand ocomm = new SqlCommand();                ocomm.Connection = Conn;                openoconnection(Conn);                ret = new SqlDataAdapter(sqlStr, Conn);                ocomm.Dispose();            }            catch (Exception e)
            {                logError(e, sqlStr);                Conn.Close();                Conn.Dispose();                throw new Exception(e.Message);            }            finally
            {            }            return ret;        }        /// <summary>        /// 执行Sql查询语句并返回SqlDataAdapter        /// </summary>        /// <param name="numConn">连接号</param>        /// <param name="sqlStr">传入的Sql语句</param>        public static SqlDataAdapter dataAdapter(int numConn, String sqlStr)
        {            SqlDataAdapter ret = null;            int i = 0;            try
            {                i = numConn;                SqlCommand ocomm = new SqlCommand();                ocomm.Connection = sconn[i].conn;                sconn[i].sqlStr = sqlStr;                openoconnection(i);                ret = new SqlDataAdapter(sqlStr, sconn[i].conn);                ocomm.Dispose();            }            catch (Exception e)
            {                errorConn++;                logError(e, sqlStr);                sconn[i].error = e.ToString();                freeConn(i);                throw new Exception(e.Message);            }            finally
            {            }            return ret;        }        /// <summary>        /// 执行Sql查询语句并返回第一行的第一条记录,返回值为object 使用时需要拆箱操作 -> Unbox        /// </summary>        /// <param name="sqlstr">传入的Sql语句</param>        /// <returns>object 返回值 </returns>        public static object ExecuteScalar(string sqlstr)
        {            object obj = new object();            int i = 0;            try
            {                i = getConn();                SqlCommand ocomm = new SqlCommand();                ocomm.Connection = sconn[i].conn;                sconn[i].sqlStr = sqlstr;                openoconnection(i);                ocomm.CommandType = CommandType.Text;                ocomm.CommandText = sqlstr;                obj = ocomm.ExecuteScalar();                ocomm.Dispose();            }            catch (Exception e)
            {                errorConn++;                logError(e, sqlstr);                sconn[i].error = e.ToString();                throw new Exception(e.Message);            }            finally
            {                freeConn(i);            }            return obj;        }        /// <summary>        /// 执行Sql查询语句,同时进行事务处理        /// </summary>        /// <param name="sqlstr">传入的Sql语句</param>        public static void ExecuteSqlWithTransaction(string sqlstr)
        {            SqlTransaction trans;            int i = 0;            i = getConn();            SqlCommand ocomm = new SqlCommand();            ocomm.Connection = sconn[i].conn;            sconn[i].sqlStr = sqlstr;            openoconnection(i);            trans = sconn[i].conn.BeginTransaction();            ocomm.Transaction = trans;            try
            {                ocomm.CommandType = CommandType.Text;                ocomm.CommandText = sqlstr;                ocomm.ExecuteNonQuery();                trans.Commit();            }            catch (Exception e)
            {                errorConn++;                logError(e, sqlstr);                sconn[i].error = e.ToString();                trans.Rollback();                throw new Exception(e.Message);            }            finally
            {                ocomm.Dispose();                freeConn(i);            }        }

解决方案 »

  1.   

    确实太多空行了
    这些是静态方法
    直接类名.方法名
    比如这个类的名字叫SqlHelper
    就直接SqlHelper.ExecutePorcedure()
    建议系统的学习ADO.NET
      

  2.   

    这个怎么调用,给个例子
    /// <summary> /// 执行存储过程
             /// </summary>
      /// <param name="procName">存储过程名</param>
    /// <param name="coll">SqlParameters 集合</param>  public static void ExecutePorcedure(string procName,SqlParameter[] coll){
     int i=0;  try { i = getConn(); SqlCommand   ocomm = new SqlCommand();ocomm.Connection = sconn[i].conn; sconn[i].sqlStr = procName; openoconnection(i);for(int j=0;j<coll.Length;j++) {
     ocomm.Parameters .Add(coll[j]); }   ocomm.CommandType=CommandType.StoredProcedure ; ocomm.CommandText =procName;  ocomm.ExecuteNonQuery(); ocomm.Parameters.Clear(); ocomm.Dispose();  }   catch(Exception e)  { errorConn++;logError(e,procName); sconn[i].error = e.ToString(); throw new Exception(e.Message);  } finally {
     freeConn(i);  }}
      

  3.   

    直接调用就好了,传入ExecutePorcedure方法所需的参数...
      

  4.   

    ExecutePorcedure(string procName, SqlParameter[] coll)你的方法两个参数意思我估计是这样
    procName —— sql语句
    SqlParameter —— 参数