public bool Delete <T>(T model) where T : class { ModelInfo mi = GetModelInfo <T>(); string format = "delete from {0} where {1};"; List <MySqlParameter> list = new List <MySqlParameter>(); object fieldValue = ModelProperty <T> .GetValue(model as T, mi.IDFieldName); CheckIDField <T>(model, mi, fieldValue); format = string.Format(format, mi.TableName, mi.IDFieldName + "=@" + mi.IDFieldName); list.Add(new MySqlParameter("@" + mi.IDFieldName, fieldValue)); if (MySqlHandler.ExecuteSql(mi.Conn, format, list.ToArray()) <= 0) { return(false); } return(true); }
public bool Delete <T>(string idListsWillDel) where T : class { if (string.IsNullOrEmpty(idListsWillDel)) { throw new Exception("Parameter idListsWillDel is null or empty!"); } if (!new Regex(@"^[0-9,]+$").IsMatch(idListsWillDel.Trim())) { throw new Exception("Parameter idListsWillDel is illegal!"); } ModelInfo mi = GetModelInfo <T>(); string sqlFormat = "delete from {0} where {1} in ({2})"; sqlFormat = string.Format(sqlFormat, mi.TableName, mi.IDFieldName, idListsWillDel); int affectCount = MySqlHandler.ExecuteSql(mi.Conn, sqlFormat); return(affectCount > 0); }
public bool Update <T>(T model) where T : class { ModelInfo mi = GetModelInfo <T>(); string format = "update {0} set {1} where {2};"; string colunms = ""; string condition = ""; List <MySqlParameter> list = new List <MySqlParameter>(); foreach (PropertyInfo info in mi.ObjType.GetProperties()) { string name = info.Name; object fieldValue = ModelProperty <T> .GetValue(model as T, name); list.Add(new MySqlParameter("@" + name, fieldValue)); if (name == mi.IDFieldName) { CheckIDField <T>(model, mi, fieldValue); condition = mi.IDFieldName + "=@" + name; } else if (colunms.Length > 0) { string str5 = colunms; colunms = str5 + "," + name + "=@" + name; } else { colunms = colunms + name + "=@" + name; } } format = string.Format(format, mi.TableName, colunms, condition); if (MySqlHandler.ExecuteSql(mi.Conn, format, list.ToArray()) <= 0) { return(false); } return(true); }