示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
            }
        }
示例#4
0
        /// <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);
        }