VueWebApi/Tools/DapperHelper.cs
@@ -52,7 +52,12 @@
                    LogHelper.WriteLog(ex);
                    throw ex;
                }
                finally
                {
                    conn.Dispose();
                    conn.Close();
                }
            }
            return list;
        }
@@ -81,6 +86,11 @@
                    LogHelper.WriteLog(ex);
                    throw ex;
                }
                finally
                {
                    conn.Dispose();
                    conn.Close();
                }
            }
            return result;
        }
@@ -108,6 +118,11 @@
                    LogHelper.WriteLog(ex);
                    throw ex;
                }
                finally
                {
                    conn.Dispose();
                    conn.Close();
                }
            }
            return t;
        }
@@ -122,25 +137,24 @@
        /// <param name="pageSize">当前页显示条数</param>
        /// <param name="total">结果集总数</param>
        /// <returns></returns>
        public static IEnumerable<T> GetPageList<T>(string sql,Object parm, string orderBy,string sort, int pageIndex, int pageSize, out int total)
        public static IEnumerable<T> GetPageList<T>(string sql, Object parm, string orderBy, string sort, int pageIndex, int pageSize, out int total)
        {
            try
            {
                //int skip = 1;
                //if (pageIndex > 0)
                //{
                //    skip = (pageIndex - 1) * pageSize + 1;
                //}
                StringBuilder sb = new StringBuilder();
                sb.AppendFormat("SELECT COUNT(1) FROM ({0}) AS Result;", sql);
                sb.AppendFormat(@"SELECT *
            //int skip = 1;
            //if (pageIndex > 0)
            //{
            //    skip = (pageIndex - 1) * pageSize + 1;
            //}
            StringBuilder sb = new StringBuilder();
            sb.AppendFormat("SELECT COUNT(1) FROM ({0}) AS Result;", sql);
            sb.AppendFormat(@"SELECT *
                        FROM(SELECT *,ROW_NUMBER() OVER(ORDER BY {1} {2}) AS RowNum
                             FROM  ({0}) AS Temp) AS Result
                        WHERE  RowNum >= {3} AND RowNum <= {4}
                        ORDER BY {1} {2}", sql, orderBy, sort, pageIndex, pageSize);  //skip, pageIndex * pageSize
                using (IDbConnection conn = sqlConnection())
            using (IDbConnection conn = sqlConnection())
            {
                try
                {
                    using (var reader = conn.QueryMultiple(sb.ToString(), parm))
                    {
@@ -148,14 +162,19 @@
                        return reader.Read<T>();
                    }
                }
                catch (Exception ex)
                {
                    //创建日志记录组件实例
                    LogHelper.WriteLog(ex);
                    throw ex;
                }
                finally
                {
                    conn.Dispose();
                    conn.Close();
                }
            }
            catch (Exception ex)
            {
                //创建日志记录组件实例
                LogHelper.WriteLog(ex);
                throw ex;
            }
        }
        /// <summary>
@@ -167,23 +186,27 @@
        public static DataTable selectdata(string sql, Object parm)
        {
            //sql语句
            try
            using (IDbConnection conn = sqlConnection())
            {
                using (IDbConnection conn = sqlConnection())
                try
                {
                    DataTable table = new DataTable();
                    var data = conn.ExecuteReader(sql, parm);
                    table.Load(data);
                    return table;
                }
                catch (Exception ex)
                {
                    //创建日志记录组件实例
                    LogHelper.WriteLog(ex);
                    throw ex;
                }
                finally
                {
                    conn.Dispose();
                    conn.Close();
                }
            }
            catch (Exception ex)
            {
                //创建日志记录组件实例
                LogHelper.WriteLog(ex);
                throw ex;
            }
        }
        /// <summary>
@@ -194,23 +217,27 @@
        public static DataTable selecttable(string sql)
        {
            //sql语句
            try
            using (IDbConnection conn = sqlConnection())
            {
                using (IDbConnection conn = sqlConnection())
                try
                {
                    DataTable table = new DataTable();
                    var data = conn.ExecuteReader(sql);
                    table.Load(data);
                    return table;
                }
                catch (Exception ex)
                {
                    //创建日志记录组件实例
                    LogHelper.WriteLog(ex);
                    throw ex;
                }
                finally
                {
                    conn.Dispose();
                    conn.Close();
                }
            }
            catch (Exception ex)
            {
                //创建日志记录组件实例
                LogHelper.WriteLog(ex);
                throw ex;
            }
        }
        /// <summary>
@@ -222,9 +249,9 @@
        public static DataTable selectProcedure(string sql, Object parm)
        {
            //sql语句
            try
            using (IDbConnection conn = sqlConnection())
            {
                using (IDbConnection conn = sqlConnection())
                try
                {
                    DataTable table = new DataTable();
                    //var data = conn.ExecuteReader(sql, parm);
@@ -232,12 +259,17 @@
                    table.Load(res);
                    return table;
                }
            }
            catch (Exception ex)
            {
                //创建日志记录组件实例
                LogHelper.WriteLog(ex);
                throw ex;
                catch (Exception ex)
                {
                    //创建日志记录组件实例
                    LogHelper.WriteLog(ex);
                    throw ex;
                }
                finally
                {
                    conn.Dispose();
                    conn.Close();
                }
            }
        }
@@ -252,19 +284,24 @@
        {
            //sql语句
            int result = 0;
            try
            using (IDbConnection conn = sqlConnection())
            {
                using (IDbConnection conn = sqlConnection())
                try
                {
                    result = conn.Query(sql, parm).Count();
                }
                catch (Exception ex)
                {
                    //创建日志记录组件实例
                    LogHelper.WriteLog(ex);
                    throw ex;
                }
                finally
                {
                    conn.Dispose();
                    conn.Close();
                }
                return result;
            }
            catch (Exception ex)
            {
                //创建日志记录组件实例
                LogHelper.WriteLog(ex);
                throw ex;
            }
        }
@@ -274,24 +311,29 @@
        /// <param name="sql"></param>
        /// <param name="parametere"></param>
        /// <returns></returns>
        public static int SQL(string sql,Object parametere)
        public static int SQL(string sql, Object parametere)
        {
            //sql语句
            int result = 0;
            try
            using (IDbConnection conn = sqlConnection())
            {
                using (IDbConnection conn = sqlConnection())
                try
                {
                    result = conn.Execute(sql, parametere);
                }
                return result;
                catch (Exception ex)
                {
                    //创建日志记录组件实例
                    LogHelper.WriteLog(ex);
                    throw ex;
                }
                finally
                {
                    conn.Dispose();
                    conn.Close();
                }
            }
            catch (Exception ex)
            {
                //创建日志记录组件实例
                LogHelper.WriteLog(ex);
                throw ex;
            }
            return result;
        }
        /// <summary>
@@ -310,7 +352,7 @@
                    tranction = conn.BeginTransaction();
                    for (int i = 0; i < sqlList.Count; i++)
                    {
                        conn.Execute(sqlList[i].GetType().GetProperty("str").GetValue(sqlList[i], null).ToString(), sqlList[i].GetType().GetProperty("parm").GetValue(sqlList[i], null),tranction);
                        conn.Execute(sqlList[i].GetType().GetProperty("str").GetValue(sqlList[i], null).ToString(), sqlList[i].GetType().GetProperty("parm").GetValue(sqlList[i], null), tranction);
                    }
                    tranction.Commit();
                    result = true;
@@ -322,6 +364,11 @@
                    result = false;
                    tranction.Rollback();
                    throw ex;
                }
                finally
                {
                    conn.Dispose();
                    conn.Close();
                }
                return result;
            }
@@ -339,9 +386,9 @@
        {
            int result = 0;
            try
            using (IDbConnection conn = sqlConnection())
            {
                using (IDbConnection conn = sqlConnection())
                try
                {
                    result = conn.Execute(sql, parameter);
                    if (result != 0)
@@ -349,14 +396,19 @@
                        result = conn.Query<int>("select ident_current(@table)", new { table = tableName }).Single<int>();
                    }
                }
                return result;
                catch (Exception ex)
                {
                    //创建日志记录组件实例
                    LogHelper.WriteLog(ex);
                    throw ex;
                }
                finally
                {
                    conn.Dispose();
                    conn.Close();
                }
            }
            catch (Exception ex)
            {
                //创建日志记录组件实例
                LogHelper.WriteLog(ex);
                throw ex;
            }
            return result;
        }
    }
}