Exemplo n.º 1
0
        /// <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)));
        }
Exemplo n.º 2
0
        /// <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()));
        }
Exemplo n.º 3
0
        /// <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()));
        }
Exemplo n.º 4
0
        /// <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));
        }
Exemplo n.º 5
0
        /// <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())));
        }
Exemplo n.º 6
0
        /// <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)));
        }