public static IDbDataParameter[] CreateParameters(this DbParameterList paramList, TkDbContext context) { if (paramList == null || paramList.Count == 0) { return(new IDbDataParameter[0]); } TkDebug.AssertArgumentNull(context, "context", paramList); IDbDataParameter[] result = new IDbDataParameter[paramList.Count]; int i = 0; foreach (var item in paramList) { IDbDataParameter param = context.CreateParameter(item.DataType); param.ParameterName = context.GetParamName(item.FieldName); param.SourceColumn = item.FieldName; object fieldValue; if (item.FieldValue != null) { fieldValue = item.FieldValue.Value(MetaDataUtil.ConvertDataTypeToType(item.DataType)); } else { fieldValue = null; } param.Value = fieldValue; result[i++] = param; } return(result); }
private static DataTable CreateDataTable(string tableName, List <Tk5FieldInfoEx> list) { DataTable table = new DataTable(tableName); foreach (IFieldInfo info in list) { table.Columns.Add(new DataColumn(info.DisplayName, MetaDataUtil.ConvertDataTypeToType(info.DataType))); } return(table); }
public void OnReadObject() { if (string.IsNullOrEmpty(Value)) { return; } Type type = MetaDataUtil.ConvertDataTypeToType(DataType); if (type != typeof(byte[])) { FieldValue = ObjectUtil.GetValue(this, type, Value, null, ObjectUtil.ReadSettings); } }
/// <summary> /// 创建数据表 /// </summary> /// <param name="tableName">表名</param> /// <param name="fieldNames">字段序列</param> /// <returns>数据表</returns> public static DataTable CreateDataTable(string tableName, IEnumerable <IFieldInfo> fieldNames) { TkDebug.AssertArgumentNullOrEmpty(tableName, "tableName", null); TkDebug.AssertEnumerableArgumentNull(fieldNames, "fieldNames", null); DataTable table = new DataTable(tableName) { Locale = ObjectUtil.SysCulture }; foreach (IFieldInfo fieldName in fieldNames) { table.Columns.Add(new DataColumn(fieldName.NickName, MetaDataUtil.ConvertDataTypeToType(fieldName.DataType))); } return(table); }