/// <summary> /// 批量新增 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="Model"></param> /// <param name="ConnectionName">数据库连接名字</param> /// <returns></returns> public static bool GTListAdd <T>(this List <T> Model, string ConnectionName = null) where T : new() { SQLServerDBHeper Helper = GetDBHeper(ConnectionName); List <string> Listr = new List <string>(); string ModelName = string.Empty; string ColumName = string.Empty; string DbValue = string.Empty; foreach (T item in Model) { PropertyInfo[] propertys = item.GetType().GetProperties(); ModelName = item.GetType().Name; List <string> FileName = new List <string>(); List <string> Value = new List <string>(); foreach (PropertyInfo pi in propertys) { GDColoum objAttrs = pi.GetCustomAttribute <GDColoum>(); if (objAttrs != null) { object obj = pi.GetValue(item, null); if (obj != null) { DbValue = pi.GetValue(item, null).DbTypeStr(); FileName.Add(pi.Name); Value.Add(DbValue); } } } ColumName = string.Join(",", FileName); Listr.Add("(" + string.Join(",", Value) + ")"); } return(Helper.BsExecuteSQL("insert into " + ModelName + "(" + ColumName + ") values" + string.Join(",", Listr))); }
/// <summary> /// 根据条件进行更新 /// </summary> /// <typeparam name="T">泛型类型</typeparam> /// <param name="Model">对象</param> /// <param name="UpCondition">更新条件</param> /// <param name="ConnectionName">数据库连接名字</param> /// <returns></returns> public static bool GTUpdata <T>(this T Model, Expression <Func <T, bool> > UpCondition = null, string ConnectionName = null) where T : new() { SQLServerDBHeper Helper = GetDBHeper(ConnectionName); List <SqlParameter> ListParameter = new List <SqlParameter>(); PropertyInfo[] propertys = Model.GetType().GetProperties(); string ModelName = Model.GetType().Name; string DbValue = string.Empty; List <string> FileName = new List <string>(); foreach (PropertyInfo pi in propertys) { GDColoum objAttrs = pi.GetCustomAttribute <GDColoum>(); if (objAttrs != null) { object obj = pi.GetValue(Model, null); if (obj != null) { if (!objAttrs.IsKey) { FileName.Add(pi.Name + "=@" + pi.Name); ListParameter.Add(new SqlParameter("@" + pi.Name, obj)); } } } } return(Helper.BsExecuteSQL("update " + ModelName + " set " + string.Join(",", FileName) + (UpCondition == null ? "" : " where " + UpCondition.DealExpress()), ListParameter.ToArray())); }
/// <summary> /// 根据主键进行更新 /// </summary> /// <typeparam name="T">泛型类型</typeparam> /// <param name="Model">对象</param> /// <param name="ConnectionName">数据库连接名字</param> /// <returns></returns> public static bool GTUpdateKey <T>(this T Model, string ConnectionName = null) where T : new() { PropertyInfo[] propertys = Model.GetType().GetProperties(); List <SqlParameter> ListParameter = new List <SqlParameter>(); string ModelName = Model.GetType().Name; string KeyStr = " and 1=2"; List <string> FileName = new List <string>(); foreach (PropertyInfo pi in propertys) { GDColoum objAttrs = pi.GetCustomAttribute <GDColoum>(); if (objAttrs != null) { object obj = pi.GetValue(Model, null); if (obj != null) { if (objAttrs.IsKey) { KeyStr = " and " + pi.Name + "=" + obj.ToString(); } else { ListParameter.Add(new SqlParameter("@" + pi.Name, obj)); FileName.Add(pi.Name + "=@" + pi.Name); } } } } SQLServerDBHeper Helper = GetDBHeper(ConnectionName); return(Helper.BsExecuteSQL("update " + ModelName + " set " + string.Join(",", FileName) + " where 1=1" + KeyStr, ListParameter.ToArray())); }
/// <summary> /// 根据主键进行删除 /// </summary> /// <typeparam name="T">泛型类型</typeparam> /// <param name="Model">对象</param> /// <param name="ConnectionName">数据库连接名字</param> /// <returns></returns> public static bool GTDelKey <T>(this T Model, string ConnectionName = null) where T : new() { SQLServerDBHeper Helper = GetDBHeper(ConnectionName); PropertyInfo[] propertys = Model.GetType().GetProperties(); string ModelName = Model.GetType().Name; string KeyStr = " and 1=2"; foreach (PropertyInfo pi in propertys) { GDColoum objAttrs = pi.GetCustomAttribute <GDColoum>(); if (objAttrs != null) { object obj = pi.GetValue(Model, null); if (obj != null) { if (objAttrs.IsKey) { KeyStr = " and " + pi.Name + "=" + obj.ToString(); break; } } } } return(Helper.BsExecuteSQL("Delete from " + ModelName + " where 1=1 " + KeyStr)); }
/// <summary> /// 根据条件进行删除 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="Model"></param> /// <param name="Condition">删除条件</param> /// <param name="ConnectionName">数据库连接名字</param> /// <returns></returns> public static bool GTDel <T>(this T Model, Expression <Func <T, bool> > Condition = null, string ConnectionName = null) where T : new() { SQLServerDBHeper Helper = GetDBHeper(ConnectionName); string ModelName = Model.GetType().Name; return(Helper.BsExecuteSQL(" delete from " + ModelName + " where 1=1 " + (Condition == null ? "" : " and " + Condition.DealExpress()))); }
/// <summary> /// 执行多个表操作 /// </summary> /// <param name="obj"></param> /// <param name="Connection">数据库连接名字</param> /// <returns></returns> public static bool GTMergerExecute(string Connection, params object[] obj) { List <string> SQLStr = new List <string>(); foreach (var item in obj) { SQLStr.Add((item as GDModel.MergerModel).SQLStr); } SQLServerDBHeper Helper = GetDBHeper(Connection); return(Helper.BsExecuteSQL(string.Join(";", SQLStr))); }