/// <summary>
        /// 根据ID 查询记录
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        public T SelectById(string Id)
        {
            string    tableName = ObjectResolverManage.GetInstance().GetTableName <T>();
            SQLHelper helper    = new SQLHelper("select * from " + tableName + " where ID=@0", Id);

            return(SelectFirstOrDefault(helper));
        }
Beispiel #2
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public int Delete(object obj, string key, object value)
        {
            string    tableName = ObjectResolverManage.GetInstance().GetTableName(obj);
            SQLHelper helper    = new SQLHelper(@"delete " + tableName + " where {key}=@0", value);

            return(Delete(helper));
        }
Beispiel #3
0
        public T SelectFirstOrDefault <T>(SQLHelper helper)
        {
            DbCommand             command = SQlHelperToCommand(helper);
            DbDataReader          reader  = ExecuteReader(helper);
            List <ClassFiledInfo> list    = ObjectResolverManage.GetInstance().GetTableColumnsInfo(typeof(T));

            try
            {
                reader.Read();
                T mode = (T)ObjectResolverManage.CreateObjectBy(typeof(T));
                foreach (ClassFiledInfo info in list)
                {
                    info.MpropertyInfo.SetValue(mode, reader[info.ColunmName]);
                }
                return(mode);
            }
            catch (Exception e)
            {
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }

            return(default(T));
        }
Beispiel #4
0
        protected SQLHelper ObjectToInsertSQlHelper(object obj)
        {
            ObjectResolverManage  manage = ObjectResolverManage.GetInstance();
            List <ClassFiledInfo> list   = manage.GetTableColumnsInfo(obj);
            string        tableName      = manage.GetTableName(obj);
            SQLHelper     helper         = new SQLHelper("insert into " + tableName + "(");
            int           index          = 0;
            StringBuilder sb_valueFlag   = new StringBuilder();

            foreach (ClassFiledInfo info in list)
            {
                if (index < 1)
                {
                    sb_valueFlag.Append("@" + info.ColunmName);
                    helper.Append(info.ColunmName, info.MpropertyInfo.GetValue(obj));
                }
                else
                {
                    sb_valueFlag.Append(",@" + info.ColunmName);
                    helper.Append("," + info.ColunmName, info.MpropertyInfo.GetValue(obj));
                }
                index++;
            }
            helper.Append(")values(");
            helper.Append(sb_valueFlag.ToString());
            helper.Append(")");
            return(helper);
        }
        /// <summary>
        /// 获取总数
        /// </summary>
        /// <returns></returns>
        public long GetCount()
        {
            string    tableName = ObjectResolverManage.GetInstance().GetTableName <T>();
            SQLHelper helper    = new SQLHelper("select count(ID) as countNum from " + tableName);
            DataTable dt        = db.ExecuteToDataTable(helper);
            DataRow   dr        = dt.Rows[0];

            return(Convert.ToInt64(dr["countNum"]));
        }
        protected SQLHelper ObjectToDeleteSQlHelper(object obj, string key, object whereValue)
        {
            ObjectResolverManage  manage = ObjectResolverManage.GetInstance();
            List <ClassFiledInfo> list   = manage.GetTableColumnsInfo(obj);
            SQLHelper             helper = new SQLHelper("delete " + manage.GetTableName(obj) + " ");

            helper.Append(" where " + key + "=@" + key);
            helper.AddParameter(whereValue);
            return(helper);
        }
        public int Delete(object obj, string key, object value)
        {
            object[] objArray1;
            string   str;
            string   str2;

            SqlDataBaseService.SQLHelper helper;
            int num;

            str       = ObjectResolverManage.GetInstance().GetTableName(obj);
            objArray1 = new object[] { value };
            helper    = new SQLHelper($"delete {str} where {key}=@0", objArray1);
            num       = this.Delete(helper);
Label_0035:
            return(num);
        }
Beispiel #8
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="helper"></param>
        /// <returns></returns>
        public List <T> Select <T>(SQLHelper helper)
        {
            DbCommand             command    = SQlHelperToCommand(helper);
            DbDataReader          reader     = ExecuteReader(helper);
            Type                  type       = typeof(T);
            List <ClassFiledInfo> filedInfos = ObjectResolverManage.GetInstance().GetTableColumnsInfo(type);
            List <T>              list       = new List <T>();

            while (reader.Read())
            {
                T model = (T)ObjectResolverManage.CreateObjectBy(type);
                foreach (ClassFiledInfo info in filedInfos)
                {
                    info.MpropertyInfo.SetValue(model, reader[info.ColunmName]);
                }
                list.Add(model);
            }
            reader.Close();
            return(list);
        }
Beispiel #9
0
        /// <summary>
        /// 将实体对象转换为sql中的更新语句
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="key"></param>
        /// <param name="whereValue"></param>
        /// <returns></returns>
        protected SQLHelper ObjectToUpdataSQlHelper(object obj, string key, object whereValue)
        {
            ObjectResolverManage  manage  = ObjectResolverManage.GetInstance();
            List <ClassFiledInfo> list    = manage.GetTableColumnsInfo(obj);
            StringBuilder         builder = new StringBuilder();
            SQLHelper             helper  = new SQLHelper("updata " + manage.GetTableName(obj) + " set ");
            int num = 0;

            foreach (ClassFiledInfo info in list)
            {
                if (num < 1)
                {
                    helper.Append(info.ColunmName + "=@" + info.ColunmName, info.ColunmValue);
                }
                else
                {
                    helper.Append("," + info.ColunmName + "=@" + info.ColunmName, info.ColunmValue);
                }
            }
            helper.Append(" where " + key + "=@" + key, whereValue);
            return(helper);
        }
        protected unsafe SQLHelper ObjectToInsertSQlHelper(object obj)
        {
            ObjectResolverManage  manage = ObjectResolverManage.GetInstance();
            List <ClassFiledInfo> list   = manage.GetTableColumnsInfo(obj);
            string    tableName          = manage.GetTableName(obj);
            SQLHelper helper             = new SQLHelper("insert into " + tableName + "(");
            int       index = 0;

            foreach (ClassFiledInfo info in list)
            {
                if (index < 1)
                {
                    helper.Append(info.ColunmName, info.ColunmValue);
                }
                else
                {
                    helper.Append("," + info.ColunmName, info.ColunmValue);
                }
            }
            helper.Append(")values(");
            helper.Append(")");
            return(helper);
        }
        /// <summary>
        /// 查询所有数据
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="orderByColumnNames"></param>
        /// <returns></returns>
        public List <T> SelectAll(List <string> orderByColumnNames = null)
        {
            string    tableName = ObjectResolverManage.GetInstance().GetTableName <T>();
            SQLHelper helper    = new SQLHelper("select * from " + tableName);

            if (orderByColumnNames != null && orderByColumnNames.Count > 0)
            {
                helper.Append(" order by ");
                int index = 0;
                foreach (string columnName in orderByColumnNames)
                {
                    if (index < 1)
                    {
                        helper.Append(columnName);
                        index++;
                    }
                    else
                    {
                        helper.Append("," + columnName);
                    }
                }
            }
            return(db.Select <T>(helper));
        }
        public unsafe T SelectFirstOrDefault <T>(SQLHelper helper)
        {
            DbCommand             command;
            DbDataReader          reader;
            object                obj2;
            List <ClassFiledInfo> list;

            List <ClassFiledInfo> .Enumerator enumerator;
            ClassFiledInfo info;
            T    local;
            bool flag;
            bool flag2;
            T    local2;

            command = SQlHelperToCommand(helper);
            reader  = this.ExecuteReader(helper);
            goto Label_00A0;
Label_0016:
            obj2       = ObjectResolverManage.CreateObjectBy(typeof(T));
            list       = ObjectResolverManage.GetInstance().GetTableColumnsInfo(typeof(T));
            enumerator = list.GetEnumerator();
Label_0045:
            try
            {
                goto Label_0075;
Label_0047:
                info = &enumerator.Current;
Label_0051:
                try
                {
                    info.MpropertyInfo.SetValue(obj2, reader[info.ColunmName]);
                    goto Label_0074;
                }
                catch
                {
Label_0070:
                    goto Label_0075;
                }
                Label_0074 :;
                Label_0075 :
                if (&enumerator.MoveNext() != null)
                {
                    goto Label_0047;
                }
                goto Label_008F;
            }
            finally
            {
Label_0080:
                &enumerator.Dispose();
            }
Label_008F:
            reader.Close();
            local = (T)obj2;
            goto Label_00D0;
Label_00A0:
            if (reader.Read() != null)
            {
                goto Label_0016;
            }
            if ((reader > null) == null)
            {
                goto Label_00C2;
            }
            reader.Close();
Label_00C2:
            local = default(T);
Label_00D0:
            return(local);
        }
Beispiel #13
0
        /// <summary>
        /// 系统基本数据数据集检查
        /// </summary>
        /// <returns></returns>
        private void CheckedDataTable()
        {
            OnCheckInitListener(this);
            string    assembly_path = AppConfigManage.GetConfigValue <string>("system_model_Assembly");
            var       db            = DbAction.CurrentDB();
            SQLHelper helper        = new SQLHelper(db.ShowAllDataBaseTables());
            DataTable table         = new DataTable();

            try
            {
                table = db.ExecuteToDataTable(helper);
            }
            catch (Exception e) {
                OnCheckExceptionListener(this, e);
                OnCheckEndListener(this);
                return;
                //throw new Exception("系统数据集自检失败", e);
            }
            if (table != null || table.Columns.Count < 1)
            {
                table.Columns[0].ColumnName = "NAME";
            }
            Assembly assembly = Assembly.LoadFrom(AppDomain.CurrentDomain.BaseDirectory + "bin\\" + assembly_path);

            Type[] types = assembly.GetTypes();
            List <Dictionary <string, object> > fixList = new List <Dictionary <string, object> >();

            fixList.Clear();
            OnCheckStartListener(this, types.Length);
            int index = 0;

            foreach (Type type in types)
            {
                OnCheckIngListener(this, types.Length, index);
                if (!type.IsClass)
                {
                    continue;
                }
                TargetTbaleAttribute targetTbale = type.GetCustomAttribute <TargetTbaleAttribute>();
                if (targetTbale == null)
                {
                    continue;
                }
                ObjectResolverManage        resolverManage = ObjectResolverManage.GetInstance();
                Dictionary <string, object> object_data    = resolverManage.ResolverObject(type);
                if (object_data == null)
                {
                    continue;
                }
                DataRow[] rows = table.Select("NAME='" + object_data[ObjectAttrResolver.TABLE_NAME] + "'");
                if (rows.Count() > 0)
                {
                    continue;
                }
                fixList.Add(object_data);
                index++;
            }
            index = 0;
            foreach (Dictionary <string, object> tableInfo in fixList)
            {
                try
                {
                    TableUlits.CreateTable(tableInfo);

                    OnFixListener(this, fixList.Count, index);
                }
                catch (Exception e) {
                }
                index++;
            }
            OnCheckEndListener(this);
            Control.CheckForIllegalCrossThreadCalls = true;
            return;
        }