Exemple #1
0
 /// <summary>
 /// 执行命令(返回影响行数,-1为执行失败)
 /// </summary>
 /// <param name="sql">sql语句</param>
 /// <param name="param">参数 lt_: &lt;(小于)  le_: &lt;=(小于等于)  gt_: &gt;(大于)  ge_: &gt;=(大于等于)  lk_: like(模糊查询)  ue_:!=(不等于)</param>
 /// <param name="commandType">命令类型</param>
 /// <param name="timeout">过期时间(秒)</param>
 /// <returns></returns>
 public static Task <int> ExecuteSqlAsync(string sql, object param = null, SugarCommandType commandType = SugarCommandType.Text, int?timeout = null)
 {
     using (DbConnection conn = DbProvider.CreateConnection(Config.DataBaseAuthority.Read))
     {
         return(DbProvider.ExecuteSqlAsync(conn, new CommandInfo(sql, param, commandType, timeout)));
     }
 }
Exemple #2
0
        ///// <summary>
        ///// 查询(以Dataset返回结果的)
        ///// </summary>
        ///// <param name="sql">sql语句</param>
        ///// <param name="parms">参数</param>
        ///// <returns>失败返回null</returns>
        //public static DataSet Query(string sql, params DbParameter[] parms)
        //{
        //    using (DbConnection conn = DbProvider.CreateConnection(Config.DataBaseAuthority.Read))
        //    {
        //        return DbProvider.Query(conn, sql, parms);
        //    }
        //}

        /// <summary>
        /// 查询单个数值(如存在多个取首行首列)
        /// </summary>
        /// <typeparam name="T">数据实体</typeparam>
        /// <param name="sql">sql语句</param>
        /// <param name="param">参数 lt_: &lt;(小于)  le_: &lt;=(小于等于)  gt_: &gt;(大于)  ge_: &gt;=(大于等于)  lk_: like(模糊查询)  ue_:!=(不等于)</param>
        /// <param name="commandType">命令类型</param>
        /// <param name="sortSql">排序语句</param>
        /// <param name="timeout"></param>
        /// <returns></returns>
        public static Task <T> QueryScalarAsync <T>(string sql, object param = null, SugarCommandType commandType = SugarCommandType.Text, string sortSql = null, int?timeout = null)
            where T : struct
        {
            using (DbConnection conn = DbProvider.CreateConnection(Config.DataBaseAuthority.Read))
            {
                return(DbProvider.QueryScalarAsync <T>(conn, sql, param, commandType, sortSql, null, timeout));
            }
        }
Exemple #3
0
 /// <summary>
 /// 查询单个实体
 /// </summary>
 /// <typeparam name="T">数据实体</typeparam>
 /// <param name="sql">sql语句</param>
 /// <param name="param">参数 lt_: &lt;(小于)  le_: &lt;=(小于等于)  gt_: &gt;(大于)  ge_: &gt;=(大于等于)  lk_: like(模糊查询)  ue_:!=(不等于)</param>
 /// <param name="commandType">命令类型</param>
 /// <param name="sortSql">排序语句</param>
 /// <param name="buffered">是否缓存</param>
 /// <param name="timeout">过期时间(秒)</param>
 /// <returns></returns>
 public static T QuerySingle <T>(string sql, object param = null, SugarCommandType commandType = SugarCommandType.Text, string sortSql = null, bool buffered = true, int?timeout = null)
     where T : class
 {
     using (DbConnection conn = DbProvider.CreateConnection(Config.DataBaseAuthority.Read))
     {
         return(DbProvider.QuerySingle <T>(conn, sql, param, commandType, sortSql, buffered, null, timeout));
     }
 }
Exemple #4
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="sqlText">sql语句</param>
 /// <param name="param">参数</param>
 /// <param name="type">影响结果类型</param>
 /// <param name="commandType">命令类型</param>
 /// <param name="timeout">过期时间(秒)</param>
 public CommandInfo(string sqlText, object param, EffentNextType type, SugarCommandType commandType = SugarCommandType.Text, int?timeout = null)
 {
     SqlText     = sqlText;
     CommandType = commandType;
     Param       = param;
     EffectRows  = (int)type;
     Timeout     = timeout;
 }
Exemple #5
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="sqlText">sql语句</param>
        /// <param name="param">参数</param>
        /// <param name="effectRows">限制影响结果</param>
        /// <param name="commandType">命令类型</param>
        /// <param name="timeout">过期时间(秒)</param>
        public CommandInfo(string sqlText, object param, int effectRows, SugarCommandType commandType = SugarCommandType.Text, int?timeout = null)
        {
            if (effectRows <= 0)
            {
                throw new ArgumentException(nameof(effectRows) + "不能为小于1的数");
            }

            SqlText     = sqlText;
            CommandType = commandType;
            Param       = param;
            EffectRows  = effectRows;
            Timeout     = timeout;
            //Transaction = transaction;
        }
Exemple #6
0
 /// <summary>
 /// 连表查询单个实体(2)
 /// </summary>
 /// <typeparam name="TFirst">数据实体</typeparam>
 /// <typeparam name="TSecond">数据实体</typeparam>
 /// <typeparam name="TReturn">返回数据实体</typeparam>
 /// <param name="map">委托-两个表数据逻辑处理</param>
 /// <param name="sql">sql语句</param>
 /// <param name="param">参数 lt_: &lt;(小于)  le_: &lt;=(小于等于)  gt_: &gt;(大于)  ge_: &gt;=(大于等于)  lk_: like(模糊查询)  ue_:!=(不等于)</param>
 /// <param name="commandType"> 命令类型 </param>
 /// <param name="sortSql">排序语句</param>
 /// <param name="splitOn">分割两表数据的列名称</param>
 /// <param name="buffered">是否缓存</param>
 /// <param name="timeout">过期时间(秒)</param>
 /// <returns></returns>
 public static TReturn QuerySingle <TFirst, TSecond, TReturn>(Func <TFirst, TSecond, TReturn> map, string sql, object param = null, SugarCommandType commandType = SugarCommandType.Text, string sortSql = null, string splitOn = null, bool buffered = true, int?timeout = null)
     where TFirst : class
     where TSecond : class
     where TReturn : class
 {
     using (var conn = DbProvider.CreateConnection())
     {
         return(DbProvider.QuerySingle <TFirst, TSecond, TReturn>(conn, map, sql, param, commandType, sortSql, splitOn, buffered, null, timeout));
     }
 }
Exemple #7
0
 /// <summary>
 /// 分页查询列表(1) - sql分页
 /// </summary>
 /// <typeparam name="T">数据实体</typeparam>
 /// <param name="pageNumber">当前页</param>
 /// <param name="pageSize">每页记录数</param>
 /// <param name="sql">sql语句</param>
 /// <param name="param">参数 lt_: &lt;(小于)  le_: &lt;=(小于等于)  gt_: &gt;(大于)  ge_: &gt;=(大于等于)  lk_: like(模糊查询)  ue_:!=(不等于)</param>
 /// <param name="commandType">命令类型</param>
 /// <param name="sortSql">排序语句</param>
 /// <param name="buffered">是否缓存</param>
 /// <param name="timeout">过期时间(秒)</param>
 /// <returns></returns>
 public static Task <PagingList <T> > QueryPagingListAsync2 <T>(int pageNumber, int pageSize, string sql, object param = null, SugarCommandType commandType = SugarCommandType.Text, string sortSql = null, bool buffered = true, int?timeout = null)
     where T : class
 {
     using (DbConnection conn = DbProvider.CreateConnection(Config.DataBaseAuthority.Read))
     {
         return(DbProvider.QueryPagingListAsync2 <T>(conn, pageNumber, pageSize, sql, param, commandType, sortSql, buffered, null, timeout));
     }
 }
Exemple #8
0
 /// <summary>
 /// 添加
 /// </summary>
 /// <param name="sqlText">sql语句</param>
 /// <param name="param">参数 lt_: &lt;(小于)  le_: &lt;=(小于等于)  gt_: &gt;(大于)  ge_: &gt;=(大于等于)  lk_: like(模糊查询)  ue_:!=(不等于)</param>
 /// <param name="effectRows">限制影响结果</param>
 /// <param name="commandType">命令类型</param>
 /// <param name="timeout">过期时间(秒)</param>
 public void Add(string sqlText, object param, int effectRows, SugarCommandType commandType = SugarCommandType.Text, int?timeout = null)
 {
     _commands.Add(new CommandInfo(sqlText, param, effectRows, commandType, timeout));
 }
Exemple #9
0
 /// <summary>
 /// 添加
 /// </summary>
 /// <param name="sqlText">sql语句</param>
 /// <param name="param">参数 lt_: &lt;(小于)  le_: &lt;=(小于等于)  gt_: &gt;(大于)  ge_: &gt;=(大于等于)  lk_: like(模糊查询)  ue_:!=(不等于)</param>
 /// <param name="type">影响结果类型</param>
 /// <param name="commandType">命令类型</param>
 /// <param name="timeout">过期时间(秒)</param>
 public void Add(string sqlText, object param, EffentNextType type, SugarCommandType commandType = SugarCommandType.Text, int?timeout = null)
 {
     _commands.Add(new CommandInfo(sqlText, param, type, commandType, timeout));
 }
Exemple #10
0
 /// <summary>
 /// 添加
 /// </summary>
 /// <param name="sqlText">sql语句</param>
 /// <param name="param">参数 lt_: &lt;(小于)  le_: &lt;=(小于等于)  gt_: &gt;(大于)  ge_: &gt;=(大于等于)  lk_: like(模糊查询)  ue_:!=(不等于)</param>
 /// <param name="commandType">命令类型</param>
 /// <param name="timeout">过期时间(秒)</param>
 public void Add(string sqlText, object param, SugarCommandType commandType, int?timeout = null)
 {
     Add(sqlText, param, EffentNextType.None, commandType, timeout);
 }