创建 BaseTableAttribute 相关结构的DataTable

2017-10-15 10:17:10  访问(1377) 赞(0) 踩(0)

转义输出的XML

<NewDataSet>
  <BaseTableAttribute>
    <CustomizeTableId>0</CustomizeTableId>
    <EmBaseEntityModeV>9</EmBaseEntityModeV>
    <EmPrimaryKeyCreateV>1</EmPrimaryKeyCreateV>
    <IDFieldName>ID</IDFieldName>
    <IDFieldParameterType>System.Int64</IDFieldParameterType>
  </BaseTableAttribute>
  <DataColumnAttributeInfo>
    <Name>ID</Name>
    <AllowDBNull>0</AllowDBNull>
    <Comment>修改密码日志</Comment>
    <DataColumnLinkClassName />
    <DataColumnLinkTextChar />
    <DataColumnLinkValueChar />
    <EmDataColumnLinkModeV>2</EmDataColumnLinkModeV>
    <EmDataColumnLinkV>1</EmDataColumnLinkV>
    <emVarTypeValue>2</emVarTypeValue>
    <IsPrimaryKey>1</IsPrimaryKey>
  </DataColumnAttributeInfo>
  <DataColumnAttributeInfo>
    <Name>UserId</Name>
    <AllowDBNull>0</AllowDBNull>
    <Comment>所属用户</Comment>
    <DataColumnLinkClassName />
    <DataColumnLinkTextChar />
    <DataColumnLinkValueChar />
    <EmDataColumnLinkModeV>2</EmDataColumnLinkModeV>
    <EmDataColumnLinkV>1</EmDataColumnLinkV>
    <emVarTypeValue>2</emVarTypeValue>
    <IsPrimaryKey>0</IsPrimaryKey>
  </DataColumnAttributeInfo>
  <DataColumnAttributeInfo>
    <Name>UserName</Name>
    <AllowDBNull>0</AllowDBNull>
    <Comment>用户帐号</Comment>
    <DataColumnLinkClassName />
    <DataColumnLinkTextChar />
    <DataColumnLinkValueChar />
    <EmDataColumnLinkModeV>2</EmDataColumnLinkModeV>
    <EmDataColumnLinkV>1</EmDataColumnLinkV>
    <emVarTypeValue>1</emVarTypeValue>
    <IsPrimaryKey>0</IsPrimaryKey>
  </DataColumnAttributeInfo>
  <DataColumnAttributeInfo>
    <Name>curPwd</Name>
    <AllowDBNull>1</AllowDBNull>
    <Comment>用户密码</Comment>
    <DataColumnLinkClassName />
    <DataColumnLinkTextChar />
    <DataColumnLinkValueChar />
    <EmDataColumnLinkModeV>2</EmDataColumnLinkModeV>
    <EmDataColumnLinkV>1</EmDataColumnLinkV>
    <emVarTypeValue>1</emVarTypeValue>
    <IsPrimaryKey>0</IsPrimaryKey>
  </DataColumnAttributeInfo>
  <DataColumnAttributeInfo>
    <Name>newPwd</Name>
    <AllowDBNull>1</AllowDBNull>
    <Comment>用户新密码</Comment>
    <DataColumnLinkClassName />
    <DataColumnLinkTextChar />
    <DataColumnLinkValueChar />
    <EmDataColumnLinkModeV>2</EmDataColumnLinkModeV>
    <EmDataColumnLinkV>1</EmDataColumnLinkV>
    <emVarTypeValue>1</emVarTypeValue>
    <IsPrimaryKey>0</IsPrimaryKey>
  </DataColumnAttributeInfo>
  <DataColumnAttributeInfo>
    <Name>IsAdmin</Name>
    <AllowDBNull>0</AllowDBNull>
    <Comment>是否管理员操作</Comment>
    <DataColumnLinkClassName />
    <DataColumnLinkTextChar />
    <DataColumnLinkValueChar />
    <EmDataColumnLinkModeV>2</EmDataColumnLinkModeV>
    <EmDataColumnLinkV>1</EmDataColumnLinkV>
    <emVarTypeValue>7</emVarTypeValue>
    <IsPrimaryKey>0</IsPrimaryKey>
  </DataColumnAttributeInfo>
  <DataColumnAttributeInfo>
    <Name>ExcuteUserId</Name>
    <AllowDBNull>0</AllowDBNull>
    <Comment>执行操作的用户</Comment>
    <DataColumnLinkClassName />
    <DataColumnLinkTextChar />
    <DataColumnLinkValueChar />
    <EmDataColumnLinkModeV>2</EmDataColumnLinkModeV>
    <EmDataColumnLinkV>1</EmDataColumnLinkV>
    <emVarTypeValue>2</emVarTypeValue>
    <IsPrimaryKey>0</IsPrimaryKey>
  </DataColumnAttributeInfo>
  <DataColumnAttributeInfo>
    <Name>ExcuteUserName</Name>
    <AllowDBNull>0</AllowDBNull>
    <Comment>执行操作的用户</Comment>
    <DataColumnLinkClassName />
    <DataColumnLinkTextChar />
    <DataColumnLinkValueChar />
    <EmDataColumnLinkModeV>2</EmDataColumnLinkModeV>
    <EmDataColumnLinkV>1</EmDataColumnLinkV>
    <emVarTypeValue>1</emVarTypeValue>
    <IsPrimaryKey>0</IsPrimaryKey>
  </DataColumnAttributeInfo>
  <DataColumnAttributeInfo>
    <Name>VisitWeb</Name>
    <AllowDBNull>1</AllowDBNull>
    <Comment>当前页面</Comment>
    <DataColumnLinkClassName />
    <DataColumnLinkTextChar />
    <DataColumnLinkValueChar />
    <EmDataColumnLinkModeV>2</EmDataColumnLinkModeV>
    <EmDataColumnLinkV>1</EmDataColumnLinkV>
    <emVarTypeValue>1</emVarTypeValue>
    <IsPrimaryKey>0</IsPrimaryKey>
  </DataColumnAttributeInfo>
  <DataColumnAttributeInfo>
    <Name>UrlReferrer</Name>
    <AllowDBNull>1</AllowDBNull>
    <Comment>上次请求页面</Comment>
    <DataColumnLinkClassName />
    <DataColumnLinkTextChar />
    <DataColumnLinkValueChar />
    <EmDataColumnLinkModeV>2</EmDataColumnLinkModeV>
    <EmDataColumnLinkV>1</EmDataColumnLinkV>
    <emVarTypeValue>1</emVarTypeValue>
    <IsPrimaryKey>0</IsPrimaryKey>
  </DataColumnAttributeInfo>
  <DataColumnAttributeInfo>
    <Name>FromIP</Name>
    <AllowDBNull>1</AllowDBNull>
    <Comment>来源IP</Comment>
    <DataColumnLinkClassName />
    <DataColumnLinkTextChar />
    <DataColumnLinkValueChar />
    <EmDataColumnLinkModeV>2</EmDataColumnLinkModeV>
    <EmDataColumnLinkV>1</EmDataColumnLinkV>
    <emVarTypeValue>1</emVarTypeValue>
    <IsPrimaryKey>0</IsPrimaryKey>
  </DataColumnAttributeInfo>
  <DataColumnAttributeInfo>
    <Name>IPAddress</Name>
    <AllowDBNull>1</AllowDBNull>
    <Comment>IP地址</Comment>
    <DataColumnLinkClassName />
    <DataColumnLinkTextChar />
    <DataColumnLinkValueChar />
    <EmDataColumnLinkModeV>2</EmDataColumnLinkModeV>
    <EmDataColumnLinkV>1</EmDataColumnLinkV>
    <emVarTypeValue>1</emVarTypeValue>
    <IsPrimaryKey>0</IsPrimaryKey>
  </DataColumnAttributeInfo>
  <DataColumnAttributeInfo>
    <Name>CreateTime</Name>
    <AllowDBNull>0</AllowDBNull>
    <Comment>创建时间</Comment>
    <DataColumnLinkClassName />
    <DataColumnLinkTextChar />
    <DataColumnLinkValueChar />
    <EmDataColumnLinkModeV>2</EmDataColumnLinkModeV>
    <EmDataColumnLinkV>1</EmDataColumnLinkV>
    <emVarTypeValue>6</emVarTypeValue>
    <IsPrimaryKey>0</IsPrimaryKey>
  </DataColumnAttributeInfo>
  <DataColumnAttributeInfo>
    <Name>UpdateTime</Name>
    <AllowDBNull>0</AllowDBNull>
    <Comment>修改时间</Comment>
    <DataColumnLinkClassName />
    <DataColumnLinkTextChar />
    <DataColumnLinkValueChar />
    <EmDataColumnLinkModeV>2</EmDataColumnLinkModeV>
    <EmDataColumnLinkV>1</EmDataColumnLinkV>
    <emVarTypeValue>6</emVarTypeValue>
    <IsPrimaryKey>0</IsPrimaryKey>
  </DataColumnAttributeInfo>
</NewDataSet>

调用代码

        SlowX.User_Table.TableAttribute.UTB_SLOWX_LOG_CHANGEPWD
            bta =
            SlowX.User_Table.TableAttribute.UTB_SLOWX_LOG_CHANGEPWD.instance;

        DataSet ds = AssistSlowXCoreFunctions.GetBaseTableAttributeDataSet(bta);

        TextBox1.Text = ds.GetXml(); 

逻辑代码

        #region Type相关的静态缓存值

        /// <summary>
        /// typeof(long)
        /// </summary>
        protected readonly static Type typeObject = typeof(object);



        /// <summary>
        /// typeof(long)
        /// </summary>
        protected readonly static Type typeLong = typeof(long);




        /// <summary>
        /// typeof(long?)
        /// </summary>
        protected readonly static Type typeLongNull = typeof(long?);




        /// <summary>
        /// typeof(float)
        /// </summary>
        protected readonly static Type typeFloat = typeof(float);



        /// <summary>
        /// typeof(float?)
        /// </summary>
        protected readonly static Type typeFloatNull = typeof(float?);




        /// <summary>
        /// typeof(double)
        /// </summary>
        protected readonly static Type typeDouble = typeof(double);


        /// <summary>
        /// typeof(double?)
        /// </summary>
        protected readonly static Type typeDoubleNull = typeof(double?);


        /// <summary>
        /// typeof(DateTime)
        /// </summary>
        protected readonly static Type typeDateTime = typeof(DateTime);



        /// <summary>
        /// typeof(DateTime?)
        /// </summary>
        protected readonly static Type typeDateTimeNull = typeof(DateTime?);



        /// <summary>
        /// typeof(int)
        /// </summary>
        protected readonly static Type typeInt = typeof(int);


        /// <summary>
        /// typeof(UInt64)
        /// </summary>
        protected readonly static Type typeUInt64 = typeof(System.UInt64);


        /// <summary>
        /// typeof(int?)
        /// </summary>
        protected readonly static Type typeIntNull = typeof(int?);


        /// <summary>
        /// typeof(Int32)
        /// </summary>
        protected readonly static Type typeInt32 = typeof(Int32);

        /// <summary>
        /// typeof(string)
        /// </summary>
        protected readonly static Type typeString = typeof(string);




        /// <summary>
        /// typeof(bool)
        /// </summary>
        protected readonly static Type typeBoolean = typeof(bool);





        /// <summary>
        /// typeof(long?)
        /// </summary>
        protected readonly static Type typeBooleanNull = typeof(bool?);


        /// <summary>
        /// typeof(Unit)
        /// </summary>
        protected readonly static Type typeUnit = typeof(Unit);



        /// <summary>
        /// typeof(Unit?)
        /// </summary>
        protected readonly static Type typeUnitNull = typeof(Unit?);




        /// <summary>
        /// typeof(System.Enum)
        /// </summary>
        protected readonly static Type typeSystemEnum = typeof(System.Enum);


        #endregion Type相关的静态缓存值

      

        /// <summary>
        /// 创建 BaseTableAttribute 相关结构的DataTable
        /// </summary>
        /// <returns></returns>
        protected static DataTable CreateBaseTableAttributeDataTable()
        {
            DataTable theResult = new DataTable();


            BaseTableAttributeName btaN = new BaseTableAttributeName();

            theResult.Columns.Add(new DataColumn(btaN.CustomizeTableId, typeLong));
            theResult.Columns.Add(new DataColumn(btaN.EmBaseEntityModeV, typeInt));
            theResult.Columns.Add(new DataColumn(btaN.EmPrimaryKeyCreateV, typeInt));
            theResult.Columns.Add(new DataColumn(btaN.IDFieldName, typeString));
            theResult.Columns.Add(new DataColumn(btaN.IDFieldParameterType, typeString));



             
            return theResult;
        }


        /// <summary>
        /// 创建 BaseTableAttribute 相关结构的DataTable
        /// </summary>
        /// <returns></returns>
        protected static DataTable CreateDataColumnAttributeInfoDataTable()
        {
            DataTable theResult = new DataTable();

            DataColumnAttributeInfoName btaN = new DataColumnAttributeInfoName();

            theResult.Columns.Add(new DataColumn(btaN.Name, typeString));
            theResult.Columns.Add(new DataColumn(btaN.AllowDBNull, typeInt));
            theResult.Columns.Add(new DataColumn(btaN.Comment, typeString));
            theResult.Columns.Add(new DataColumn(btaN.DataColumnLinkClassName, typeString));
            theResult.Columns.Add(new DataColumn(btaN.DataColumnLinkTextChar, typeString));
            theResult.Columns.Add(new DataColumn(btaN.DataColumnLinkValueChar, typeString));
            theResult.Columns.Add(new DataColumn(btaN.EmDataColumnLinkModeV, typeInt));
            theResult.Columns.Add(new DataColumn(btaN.EmDataColumnLinkV, typeInt));
            theResult.Columns.Add(new DataColumn(btaN.emVarTypeValue, typeInt));
            theResult.Columns.Add(new DataColumn(btaN.IsPrimaryKey, typeInt));

 
            return theResult;
        }

        /// <summary>
        /// 把BaseTableAttribute转成XML格式
        /// </summary>
        /// <returns></returns>
        public static DataSet GetBaseTableAttributeDataSet
            (
                BaseTableAttribute baseTableAttributeValue
            )
        {
            BaseTableAttributeName btaN = new BaseTableAttributeName();
            DataColumnAttributeInfoName dcaN = new DataColumnAttributeInfoName();


            DataSet theResult = new DataSet();
            DataTable dt = CreateBaseTableAttributeDataTable();
            dt.TableName = btaN.BaseTableAttribute;
            theResult.Tables.Add(dt);

            DataTable dtDC = CreateDataColumnAttributeInfoDataTable();
            dtDC.TableName = dcaN.DataColumnAttributeInfo;
            theResult.Tables.Add(dtDC);



            DataRow dr = dt.NewRow();
            dt.Rows.Add(dr);

            dr[btaN.CustomizeTableId] = baseTableAttributeValue.customizeTableId;
            dr[btaN.EmBaseEntityModeV] = (int)baseTableAttributeValue.EmBaseEntityModeV;
            dr[btaN.EmPrimaryKeyCreateV] = (int)baseTableAttributeValue.EmPrimaryKeyCreateV;
            dr[btaN.IDFieldName] = baseTableAttributeValue.IDFieldName;

            if (baseTableAttributeValue.IDFieldParameterType == null)
                dr[btaN.IDFieldParameterType] = "";
            else
                dr[btaN.IDFieldParameterType] = baseTableAttributeValue.IDFieldParameterType.FullName;

            List<DataColumnAttributeInfo>
                listDataColumnAttributeInfoValue = baseTableAttributeValue.listDataColumnAttributeInfoValue;

            // 字段名 //
            foreach (DataColumnAttributeInfo dataColumnAttributeInfoValue in listDataColumnAttributeInfoValue)
            {
                dr = dtDC.NewRow();
                dtDC.Rows.Add(dr);

                dr[dcaN.Name] = dataColumnAttributeInfoValue.Name;
                dr[dcaN.AllowDBNull] = dataColumnAttributeInfoValue.AllowDBNull ? 1 : 0;
                dr[dcaN.Comment] = dataColumnAttributeInfoValue.Comment;
                dr[dcaN.DataColumnLinkClassName] = dataColumnAttributeInfoValue.DataColumnLinkClassName;
                dr[dcaN.DataColumnLinkTextChar] = dataColumnAttributeInfoValue.DataColumnLinkTextChar;
                dr[dcaN.DataColumnLinkValueChar] = dataColumnAttributeInfoValue.DataColumnLinkValueChar;
                dr[dcaN.EmDataColumnLinkModeV] = (int)dataColumnAttributeInfoValue.EmDataColumnLinkModeV;
                dr[dcaN.EmDataColumnLinkV] = (int)dataColumnAttributeInfoValue.EmDataColumnLinkV;
                dr[dcaN.emVarTypeValue] = (int)dataColumnAttributeInfoValue.emVarTypeValue;
                dr[dcaN.IsPrimaryKey] = dataColumnAttributeInfoValue.IsPrimaryKey ? 1 : 0;
            }


            return theResult;
        }

BaseTableAttributeName

using System;
using System.Collections.Generic;
using System.Text;

namespace SlowX.Core.Names
{
    /// <summary>
    /// 
    /// </summary>
    public class BaseTableAttributeName
    {
        /// <summary>
        /// 
        /// </summary>
        public BaseTableAttributeName()
        {

        }



        #region BaseTableAttribute ~ 数据表名

        /// <summary>
        /// BaseTableAttribute ~ 数据表名
        /// </summary>
        public string BaseTableAttribute
        {
            get
            {
                return "BaseTableAttribute";
            }
        }

        #endregion BaseTableAttribute ~ 数据表名



        #region CustomizeTableId ~ 定制表的ID

        /// <summary>
        /// CustomizeTableId ~ 定制表的ID
        /// </summary>
        public string CustomizeTableId
        {
            get
            {
                return "CustomizeTableId";
            }
        }

        #endregion CustomizeTableId ~ 定制表的ID


        #region IDFieldParameterType ~ 关键字类型

        /// <summary>
        /// IDFieldParameterType ~ 关键字类型
        /// </summary>
        public string IDFieldParameterType
        {
            get
            {
                return "IDFieldParameterType";
            }
        }

        #endregion IDFieldParameterType ~ 关键字类型


        #region EmPrimaryKeyCreateV ~ 关键字生成方式

        /// <summary>
        /// EmPrimaryKeyCreateV ~ 关键字生成方式
        /// </summary>
        public string EmPrimaryKeyCreateV
        {
            get
            {
                return "EmPrimaryKeyCreateV";
            }
        }

        #endregion EmPrimaryKeyCreateV ~ 关键字生成方式


        #region IDFieldName ~ 关键字字段名

        /// <summary>
        /// IDFieldName ~ 关键字字段名
        /// </summary>
        public string IDFieldName
        {
            get
            {
                return "IDFieldName";
            }
        }

        #endregion IDFieldName ~ 关键字字段名


        #region EmBaseEntityModeV ~ 数据库模式

        /// <summary>
        /// EmBaseEntityModeV ~ 数据库模式
        /// </summary>
        public string EmBaseEntityModeV
        {
            get
            {
                return "EmBaseEntityModeV";
            }
        }

        #endregion EmBaseEntityModeV ~ 数据库模式

    }
}

DataColumnAttributeInfoName

namespace SlowX.Core.Names
{
    /// <summary>
    /// 
    /// </summary>
    public class DataColumnAttributeInfoName
    {
        /// <summary>
        /// 
        /// </summary>
        public DataColumnAttributeInfoName()
        {

        }



        #region DataColumnAttributeInfo

        /// <summary>
        /// DataColumnAttributeInfo
        /// </summary>
        public string DataColumnAttributeInfo
        {
            get
            {
                return "DataColumnAttributeInfo";
            }
        }

        #endregion DataColumnAttributeInfo


        #region Name

        /// <summary>
        /// Name
        /// </summary>
        public string Name
        {
            get
            {
                return "Name";
            }
        }

        #endregion Name


        #region AllowDBNull

        /// <summary>
        /// AllowDBNull
        /// </summary>
        public string AllowDBNull
        {
            get
            {
                return "AllowDBNull";
            }
        }

        #endregion AllowDBNull


        #region Comment

        /// <summary>
        /// Comment
        /// </summary>
        public string Comment
        {
            get
            {
                return "Comment";
            }
        }

        #endregion Comment


        #region DataColumnLinkClassName

        /// <summary>
        /// DataColumnLinkClassName
        /// </summary>
        public string DataColumnLinkClassName
        {
            get
            {
                return "DataColumnLinkClassName";
            }
        }

        #endregion DataColumnLinkClassName


        #region DataColumnLinkTextChar

        /// <summary>
        /// DataColumnLinkTextChar
        /// </summary>
        public string DataColumnLinkTextChar
        {
            get
            {
                return "DataColumnLinkTextChar";
            }
        }

        #endregion DataColumnLinkTextChar


        #region DataColumnLinkValueChar

        /// <summary>
        /// DataColumnLinkValueChar
        /// </summary>
        public string DataColumnLinkValueChar
        {
            get
            {
                return "DataColumnLinkValueChar";
            }
        }

        #endregion DataColumnLinkValueChar


        #region EmDataColumnLinkModeV

        /// <summary>
        /// EmDataColumnLinkModeV
        /// </summary>
        public string EmDataColumnLinkModeV
        {
            get
            {
                return "EmDataColumnLinkModeV";
            }
        }

        #endregion EmDataColumnLinkModeV


        #region EmDataColumnLinkV

        /// <summary>
        /// EmDataColumnLinkV
        /// </summary>
        public string EmDataColumnLinkV
        {
            get
            {
                return "EmDataColumnLinkV";
            }
        }

        #endregion EmDataColumnLinkV


        #region emVarTypeValue

        /// <summary>
        /// emVarTypeValue
        /// </summary>
        public string emVarTypeValue
        {
            get
            {
                return "emVarTypeValue";
            }
        }

        #endregion emVarTypeValue


        #region IsPrimaryKey

        /// <summary>
        /// IsPrimaryKey
        /// </summary>
        public string IsPrimaryKey
        {
            get
            {
                return "IsPrimaryKey";
            }
        }

        #endregion IsPrimaryKey

    }
}


上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)