SqlSugar 執行sql語句


            var t12 = psdb.Db.SqlQueryable<dynamic>
                ("sql")
                .OrderBy(x => x.CreateTime, OrderByType.Desc)
                .ToPageList(pageModel.PageIndex, pageModel.PageSize, ref totalCount);//返回動態類型


    ISugarQueryable<Yszycx> d;      
var d = newsdb.Db.SqlQueryable<Kyzycx>(sql); if (type.Length > 0) { d = d.Where(n => n.資源類型 == type); }

      if (key.Length > 0)
      {
        d = d.Where(n => n.資源名稱.Contains(key));
      }

 
          

list = d.ToPageList(pageinfo.PageIndex, pageinfo.PageSize, ref totalNumber);//返回動態類型

 
          

pageinfo.PageCount = totalNumber;

 
         
 
        
namespace Dal
{
    public class Dal_News : DbContext<Model_News>
    {
        #region Dal

        /// <summary>
        /////插入一條數據,插入並返回受影響行數用ExecuteCommand 
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int Insert_(Model_News model)
        {
            return Db.Insertable(model).ExecuteCommand();
        }

        public DataTable GetDataTable_(string sql)
        {
            return Db.Ado.GetDataTable(sql);
        }


        //string.Format("select  max(M_Serial)M_Serial  from T_Sys_MenuInfo  where 1=1 and M_PKey = 0")
        /// <summary>
        /// 執行sql 語句   返回一行一列
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public object GetOneRowOneColumn_(string sql)
        {
            var dt = Db.Ado.GetDataTable(sql);
            if (dt.Rows.Count > 0)
            {
                return dt.Rows[0][0];
            }
            return null;
        }



        public DataTable selectTable()
        {
            string sql = "SELECT  1 as nId,0 as num,'' as name,'' as link ";
            return Db.Ado.GetDataTable(sql);
        }


        public DataTable SelectTop(string where, int top)
        {
            string sql = "SELECT TOP " + top + " * FROM [News] " + where;
            return GetDataTable_(sql);
        }

        #endregion
    }

}

 

 

 
 
        #region 執行

        public DataTable ExecuteDataTable(DbCommand cmd)
        {
            var sql = cmd.CommandText;
            var paras = cmd.Parameters;
            if (paras.Count > 0)
            {
                //參數1
                var data = new List<SugarParameter>();
                for (int i = 0; i < paras.Count; i++)
                {
                    data.Add(new SugarParameter(paras[i].ParameterName, paras[i].Value));
                }
                return dal.Db.Ado.GetDataTable(sql, data);
            }
            else
            {
                return dal.Db.Ado.GetDataTable(sql);
            }
        }

        public DataRow ExecuteDataRow(DbCommand cmd)
        {
            DataTable dataTable = new DataTable();
            var sql = cmd.CommandText;
            var paras = cmd.Parameters;
            if (paras.Count > 0)
            {
                //參數1
                var data = new List<SugarParameter>();
                for (int i = 0; i < paras.Count; i++)
                {
                    data.Add(new SugarParameter(paras[i].ParameterName, paras[i].Value));
                }
                dataTable = dal.Db.Ado.GetDataTable(sql, data);
            }
            else
            {
                dataTable = dal.Db.Ado.GetDataTable(sql);
            }

            if (dataTable.Rows.Count > 0)
            {
                return dataTable.Rows[0];
            }
            else
            {
                return null;
            }
        }

        public int ExecuteNonQuery(DbCommand cmd)
        {
            var sql = cmd.CommandText;
            var paras = cmd.Parameters;
            if (paras.Count > 0)
            {
                var data = new List<SugarParameter>();
                for (int i = 0; i < paras.Count; i++)
                {
                    data.Add(new SugarParameter(paras[i].ParameterName, paras[i].Value));
                }
                return dal.Db.Ado.ExecuteCommand(sql, data);
            }
            else
            {
                return dal.Db.Ado.ExecuteCommand(sql);
            }
        }

        public object ExecuteScalar(DbCommand cmd)
        {

            DataTable dataTable = new DataTable();
            var sql = cmd.CommandText;
            var paras = cmd.Parameters;
            if (paras.Count > 0)
            {
                //參數1
                var data = new List<SugarParameter>();
                for (int i = 0; i < paras.Count; i++)
                {
                    data.Add(new SugarParameter(paras[i].ParameterName, paras[i].Value));
                }
                dataTable = dal.Db.Ado.GetDataTable(sql, data);
            }
            else
            {
                dataTable = dal.Db.Ado.GetDataTable(sql);
            }

            if (dataTable.Rows.Count > 0)
            {
                return dataTable.Rows[0][0];
            }
            else
            {
                return null;
            }
        }

        /// <summary>
        /// 摘要:
        ///     數據分頁函數
        /// 參數:
        ///     cmdText:傳入要執行sql語句
        ///     orderField:排序字段
        ///     orderType:排序類型
        ///     pageIndex:當前頁
        ///     pageSize:頁大小
        ///     count:返回查詢條數
        /// </summary>
        public DataTable GetPageList(string cmdText, string orderField, string orderType, int pageIndex, int pageSize, ref int count)
        {
            int num = (pageIndex - 1) * pageSize;
            int num1 = (pageIndex) * pageSize;
            string sql = "Select * From (Select ROW_NUMBER() Over (Order By " + orderField + " " + orderType;
            sql += ") As rowNum, * From (" + cmdText + ") As T ) As N Where rowNum > " + num + " And rowNum <= " + num1;
            string sql1 = "Select Count(1) From (" + cmdText + ") As t";
            DbCommand cmd = GetSqlStringCommond(sql1);
            count = (int)ExecuteScalar(cmd);
            cmd = GetSqlStringCommond(sql);
            return ExecuteDataTable(cmd);
        }

        #endregion

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM