Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
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);
        }