/// <summary> /// 批量删除 /// </summary> /// <param name="idList"></param> /// <returns></returns> public bool DeleteList(List <int> idList, int actType) { Type type = typeof(T); List <CommandInfo> comList = new List <CommandInfo>(); foreach (int id in idList) { string strWhere = $"[{type.GetPrimary()}]=@Id"; string delSql = ""; if (actType == 1) { delSql = CreateSql.CreateDeleteSql <T>(strWhere); } else { delSql = $"update [{type.GetTName()}] set IsDeleted=1 where {strWhere}"; } SqlParameter[] paras = { new SqlParameter("@Id", id) }; CommandInfo com = new CommandInfo(delSql, false, paras); comList.Add(com); } return(SqlHelper.ExecuteTrans(comList)); }
/// <summary> /// 添加实体信息 /// </summary> /// <param name="t"></param> /// <param name="strCols">插入列名字符串,若为空,则全插入</param> /// <returns></returns> public int Add(T t, string strCols, int isReturn) { if (t == null) { return(0); } //获取生成的sql和参数列表 SqlModel insert = CreateSql.GetInsertSqlAndParas <T>(t, strCols, isReturn); //执行sql命令 if (isReturn == 0) { return(SqlHelper.ExecuteNonQuery(insert.Sql, 1, insert.SqlParaArray)); } else { object oId = SqlHelper.ExecuteScalar(insert.Sql, 1, insert.SqlParaArray); if (oId != null && oId.ToString() != "") { return(oId.GetInt()); } else { return(0); } } }
/// <summary> /// 按条件查询获取实体信息 /// </summary> /// <param name="strWhere"></param> /// <param name="strCols"></param> /// <param name="paras"></param> /// <returns></returns> public T GetModel(string strWhere, string strCols, params SqlParameter[] paras) { //生成查询语句 string selSql = CreateSql.CreateSelectSql <T>(strWhere, strCols); //生成Reader对象 SqlDataReader reader = SqlHelper.ExecuteReader(selSql, 1, paras); //转换为实体对象 T model = DbConvert.SqlDataReaderToModel <T>(reader, strCols); //关闭阅读器 reader.Close(); return(model); }
/// <summary> /// 批量插入 /// </summary> /// <param name="list"></param> /// <param name="strCols"></param> /// <returns></returns> public bool AddList(List <T> list, string strCols) { if (list == null || list.Count == 0) { return(false); } List <CommandInfo> comList = new List <CommandInfo>(); foreach (T t in list) { SqlModel insert = CreateSql.GetInsertSqlAndParas <T>(t, strCols, 0); CommandInfo com = new CommandInfo(insert.Sql, false, insert.SqlParaArray); comList.Add(com); } return(SqlHelper.ExecuteTrans(comList)); }
/// <summary> /// 执行分页查询 按类别编号 关键字查询 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="typeId"></param> /// <param name="keywords"></param> /// <param name="strCols"></param> /// <param name="proName"></param> /// <param name="startIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public DataSet GetPageDs <S>(string strWhere, int typeId, string keywords, string strCols, string proName, int startIndex, int pageSize) { List <SqlParameter> listParas = new List <SqlParameter>(); listParas.Add(new SqlParameter("@typeId", typeId)); listParas.Add(new SqlParameter("@keywords", keywords)); string sql = CreateSql.CreateRowsSelectSql <S>(strWhere, strCols); listParas.Add(new SqlParameter("@sql", sql)); listParas.Add(new SqlParameter("@startIndex", startIndex)); listParas.Add(new SqlParameter("@endIndex", startIndex + pageSize - 1)); DataSet ds = GetDs(proName, 2, listParas.ToArray()); return(ds); }
/// <summary> /// 修改信息实体 /// </summary> /// <param name="t"></param> /// <param name="strCols">要修改的列</param> /// <param name="strWhere">条件 </param> /// <returns></returns> public bool Update(T t, string strCols, string strWhere, params SqlParameter[] paras) { if (t == null) { return(false); } //获取生成的sql和参数列表 SqlModel update = CreateSql.GetUpdateSqlAndParas <T>(t, strCols, strWhere); List <SqlParameter> listParas = update.SqlParaArray.ToList(); if (paras != null && paras.Length > 0) { listParas.AddRange(paras); } //执行sql命令 return(SqlHelper.ExecuteNonQuery(update.Sql, 1, listParas.ToArray()) > 0); }
/// <summary> /// 按条件查询返回实体列表 /// </summary> /// <param name="strWhere">条件</param> /// <param name="strCols">查询字段</param> /// <param name="paras">参数数组</param> /// <returns>List<T></returns> public List <T> GetModelList(string strWhere, string strCols, params SqlParameter[] paras) { if (string.IsNullOrEmpty(strWhere)) { strWhere = "1=1"; } //生成查询语句 string selSql = CreateSql.CreateSelectSql <T>(strWhere, strCols); //生成Reader SqlDataReader reader = SqlHelper.ExecuteReader(selSql, 1, paras); //转换为List<T>列表 List <T> list = DbConvert.SqlDataReaderToList <T>(reader, strCols); //关闭阅读器 reader.Close(); return(list); }
/// <summary> /// 按条件删除数据 /// </summary> /// <param name="strWhere">条件</param> /// <param name="paras">参数列表</param> /// <returns></returns> public bool Delete(int actType, string strWhere, SqlParameter[] paras) { Type type = typeof(T); string delSql = ""; if (actType == 1) { delSql = CreateSql.CreateDeleteSql <T>(strWhere); } else { delSql = $"update [{type.GetTName()}] set IsDeleted=1 where {strWhere}"; } List <CommandInfo> list = new List <CommandInfo>(); list.Add(new CommandInfo() { CommandText = delSql, IsProc = false, Paras = paras }); return(SqlHelper.ExecuteTrans(list)); }