/// <summary> /// 物理删除数据记录 /// </summary> /// <param name="SqlWhere">条件语句,如:IsDel=0 AND Status=@Status AND Id>@MinId</param> /// <param name="SqlParams">参数集合,如:{Status,MinId}</param> /// <returns></returns> public static int DbDel(string SqlWhere, params object[] SqlParams) { string SqlText = SqlGenerator.SQLBUILDER_DbDel(DB.ORM_TabInfo, SqlWhere); Data.DBHelper db = new Data.DBHelper(DB.ORM_TabInfo.ORMConnectionMark, false); return(db.ExecTextNonQuery(SqlText, SqlParams)); }
/// <summary> /// 动态模型更新 /// </summary> /// <param name="DSet">动态更新列模型</param> /// <param name="DWhere">动态更新条件模型</param> /// <returns></returns> public static int Update(ExpandoObject ESet, ExpandoObject EWhere) { List <object> SqlParams = new List <object>(); string SqlText = SqlGenerator.SQLBUILDER_Update(DB.ORM_TabInfo, ESet, EWhere, out SqlParams); Data.DBHelper db = new Data.DBHelper(DB.ORM_TabInfo.ORMConnectionMark, false); return(db.ExecTextNonQuery(SqlText, SqlParams.ToArray())); }
/// <summary> /// 逻辑删除数据记录 /// </summary> /// <param name="DWhere"></param> /// <returns></returns> public static int DbDel(dynamic DWhere) { List <object> SqlParams = new List <object>(); string SqlText = SqlGenerator.SQLBUILDER_DbDel(DB.ORM_TabInfo, DWhere, out SqlParams); Data.DBHelper db = new Data.DBHelper(DB.ORM_TabInfo.ORMConnectionMark, false); return(db.ExecTextNonQuery(SqlText, SqlParams)); }
/// <summary> /// 更新数据模型 /// </summary> /// <param name="Model">数据模型</param> /// <returns></returns> private static bool UpdateWhereNeed(ModelBase <T> Model) { string SqlText = SqlGenerator.SQLBUILDER_Update(DB.ORM_TabInfo, Model.ModifiedColumns); List <object> SqlParams = new List <object>(); foreach (string PropName in DB.ORM_TabInfo.ORMColList) { if (DB.ORM_TabInfo.ORM_NoAddCols.Contains(PropName) || DB.ORM_TabInfo.ORM_AutoIncreaseColName == PropName || !Model.ModifiedColumns.Contains("[" + PropName + "]")) { continue; } PropertyInfo Prop = DB.ORM_TabInfo.ORM_TypePropDic[PropName]; object PropValue = Prop.GetValue(Model); if (Prop.PropertyType == typeof(DateTime)) { DateTime DT = Convert.ToDateTime(PropValue); if (DT.Year < 1900) { SqlParams.Add(new DateTime(1900, 1, 1)); } else { SqlParams.Add(PropValue); } } else { SqlParams.Add(PropValue); } } if (!string.IsNullOrEmpty(DB.ORM_TabInfo.ORM_AutoIncreaseColName) && DB.ORM_TabInfo.ORM_TypePropDic.ContainsKey(DB.ORM_TabInfo.ORM_AutoIncreaseColName)) { SqlParams.Add(DB.ORM_TabInfo.ORM_TypePropDic[DB.ORM_TabInfo.ORM_AutoIncreaseColName].GetValue(Model)); } else if (DB.ORM_TabInfo.ORM_PrimaryKeys.Count > 0) { foreach (string PrimaryKeyName in DB.ORM_TabInfo.ORM_PrimaryKeys) { PropertyInfo PrimaryKeyProp = DB.ORM_TabInfo.ORM_TypePropDic[PrimaryKeyName]; SqlParams.Add(PrimaryKeyProp.GetValue(Model)); } } Data.DBHelper db = new Data.DBHelper(DB.ORM_TabInfo.ORMConnectionMark, false); try { return(db.ExecTextNonQuery(SqlText, SqlParams.ToArray()) >= 1); } catch { return(false); } }
/// <summary> /// 模型更新,动态条件类型 /// </summary> /// <param name="Model">数据模型</param> /// <param name="DWhere">动态更新条件模型</param> /// <returns></returns> public static int Update(T Model, ExpandoObject EWhere) { if (EWhere == null) { return(Update(Model) ? 1 : 0); } List <object> SqlParams = new List <object>(); List <object> SqlWhereParams = new List <object>(); ModelBase <T> TempModel = Model as ModelBase <T>; string SqlText = SqlGenerator.SQLBUILDER_Update(DB.ORM_TabInfo, TempModel.ModifiedColumns, EWhere, out SqlWhereParams); foreach (string PropName in DB.ORM_TabInfo.ORMColList) { if (DB.ORM_TabInfo.ORM_NoAddCols.Contains(PropName) || DB.ORM_TabInfo.ORM_AutoIncreaseColName == PropName) { continue; } PropertyInfo Prop = DB.ORM_TabInfo.ORM_TypePropDic[PropName]; object PropValue = Prop.GetValue(Model); if (Prop.PropertyType == typeof(DateTime)) { DateTime DT = Convert.ToDateTime(PropValue); if (DT.Year < 1900) { SqlParams.Add(new DateTime(1900, 1, 1)); } else { SqlParams.Add(PropValue); } } else { SqlParams.Add(PropValue); } } if (SqlWhereParams != null) { SqlParams.AddRange(SqlWhereParams); } Data.DBHelper db = new Data.DBHelper(DB.ORM_TabInfo.ORMConnectionMark, false); try { return(db.ExecTextNonQuery(SqlText, SqlParams.ToArray())); } catch { return(-1); } }
/// <summary> /// 更新数据记录 /// </summary> /// <param name="SqlWhere">条件语句,如:IsDel=0 AND Status=@Status AND Id>@MinId</param> /// <param name="SqlSet">设置语句,如:TrueName=@TrueName,Remark=@Remark</param> /// <param name="SqlParams">参数集合,如:{Status,MinId}</param> /// <returns></returns> public static int Update(string SqlSet, string SqlWhere, params object[] SqlParams) { string SqlText = SqlGenerator.SQLBUILDER_Update(DB.ORM_TabInfo, SqlWhere, SqlSet); Data.DBHelper db = new Data.DBHelper(DB.ORM_TabInfo.ORMConnectionMark, false); for (int i = 0; i < SqlParams.Length; i++) { object SqlParam = SqlParams[i]; if (SqlParam is DateTime) { if (((DateTime)SqlParam).Year < 1900) { SqlParams[i] = new DateTime(1900, 1, 1); } } } return(db.ExecTextNonQuery(SqlText, SqlParams)); }
/// <summary> /// 保存数据记录 /// </summary> /// <param name="Model"></param> /// <returns></returns> public static bool Add(T Model) { string SqlText = SqlGenerator.SQLBUILDER_Add(DB.ORM_TabInfo, false); List <object> SqlParams = new List <object>(); foreach (string PropName in DB.ORM_TabInfo.ORMColList) { if (DB.ORM_TabInfo.ORM_NoAddCols.Contains(PropName) || DB.ORM_TabInfo.ORM_AutoIncreaseColName == PropName) { continue; } PropertyInfo Prop = DB.ORM_TabInfo.ORM_TypePropDic[PropName]; object PropValue = Prop.GetValue(Model); if (Prop.PropertyType == typeof(DateTime)) { DateTime DT = Convert.ToDateTime(PropValue); if (DT.Year < 1900) { SqlParams.Add(new DateTime(1900, 1, 1)); } else { SqlParams.Add(PropValue); } } else { SqlParams.Add(PropValue); } } Data.DBHelper db = new Data.DBHelper(DB.ORM_TabInfo.ORMConnectionMark, false); try { return(db.ExecTextNonQuery(SqlText, SqlParams.ToArray()) == 1); } catch (Exception E) { Console.WriteLine(E.Message); return(false); } }