zoukankan      html  css  js  c++  java
  • 项目总结


    项目:代理商注册系统...
      采用三层架构...用vs2005+ms2005开发。
      数据比较简单..建二个表,agentinformation和unauditedagentinformation,分别存放已经审核通过的用户和未审核的用户数据。

    本项目中值得总结的地方有:

    1. 序列化存储数据。
        对于未审核的用户数据,先将数据序列化然后存入。所以unauditedagentinformation仅三个字段,一个存放序列化数据,一个存放用户名,还有一个标识用来判断用户的请求是否被驳回。

    两个转化过程:
     实例序列化:
     System.Runtime.Serialization.Formatters.Binary.BinaryFormatter formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
          System.IO.MemoryStream stream 
    = new System.IO.MemoryStream();
          formatter.Serialize( stream, agentData );
      反序列化为实例:
     AgentData agentData;
    System.Runtime.Serialization.Formatters.Binary.BinaryFormatter formatter 
    = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
            
    byte[] data = (byte[]) DbUtility.ExecuteScalar( "Select unauditedAgentData From UnauditedAgentInfomation Where userName={0}", userName );
            
    if ( data == null ) return null; }
            agentData 
    = (AgentData) formatter.Deserialize( new System.IO.MemoryStream( data ) );
    //返回一个实例
              return agentData;


    2.数据实例化

    建立一个实例..这样取数据还是写入数据都比较方便。

    public static EmployeeData GetEmployeeData( int EmployeeId )
        
    {
          DataRow data 
    = DbUtility.ExecuteSingleRow( "SELECT * FROM EmployeeInformation WHERE ID={0}", EmployeeId );
          
    if ( data == null )
            
    return null;
          
    else
            
    return ParseData( data );
        }

        
    /// <summary>
        
    /// 解析代理商数据
        
    /// </summary>
        
    /// <param name="requestData">包含数据的NameValueCollection</param>
        
    /// <returns></returns>


        
    public static EmployeeData ParseData( NameValueCollection requestData )
        
    {
          
    if ( requestData == null )
            
    return null;
          EmployeeData instance 
    = new EmployeeData();
          ObjectDataParser.ParseData
    <NameValueCollection>( requestData, instance, ObjectDataParser.GetFieldData_Request );
          
    return instance;
        }


        
    /// <summary>
        
    /// 解析代理商数据
        
    /// </summary>
        
    /// <param name="data">包含数据的DataRow</param>
        
    /// <returns></returns>

        public static EmployeeData ParseData( DataRow data )
        
    {
          
    if ( data == null )
            
    return null;
          EmployeeData instance 
    = new EmployeeData();
          ObjectDataParser.ParseData
    <DataRow>( data, instance, ObjectDataParser.GetFieldData_DataRow );
          
    return instance;
        }

    利用两种方式来解析数据。

    以上这两个总结点都是我第一次接触。因此小结一下。

    当然,除了上面这两点,对逻辑层和数据层的分工也有了更明确的认识。对界面的优化也获益甚多。
  • 相关阅读:
    Html table 内容超出显示省略号
    [已解决] odoo12 菜单不显示,安装后多出菜单
    js display, visible 区别
    on() 和 click() 的区别
    jquery $.proxy使用
    阿里云ECS服务器部署HADOOP集群(六):Flume 安装
    阿里云ECS服务器部署HADOOP集群(七):Sqoop 安装
    阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建
    阿里云ECS服务器部署HADOOP集群(五):Pig 安装
    阿里云ECS服务器部署HADOOP集群(四):Hive本地模式的安装
  • 原文地址:https://www.cnblogs.com/baiduligang/p/4247337.html
Copyright © 2011-2022 走看看