/// <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)); }
/// <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)); }
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)); }
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); }
/// <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); }
/// <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); }
/// <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; }