• 三层架构


    在.net的开发中有很架构模式选择使用,像抽象工厂,三层架构等等,下面来说说三层架构

       三层架构是目前使用最广泛的一种,最大的特点就是结构清晰,主要分为数据访问层,业务逻辑层和现实层

       访问流程是这样的:首先用户从显示层看到内容,并对其操作,然后转到业务逻辑层,进行业务逻辑判断,

       最后传到数据访问层,对数据库进行相关操作,然后再按相反的顺序返回给用户,在这个过程中我们用到了

       实体层!

    Modes层是存放实体类的,它是数据传递的载体!为了能保障数据能够稳定以流的方式传递,我们需要对实体进行序列化

        [Serializable]
       public class SysFun
        {
           public int NodeId { get; set; }
           public string DisplayName { get; set; }
           public int parentNodeId { get; set; }
        }

    业务逻辑层

    using System.Collections.Generic;

     [DataObject]
      public static class UserManager
        {

       ............

        }

    三层的流程就不用多说了,相信大家都很明了,下面来说说三层中关于外键的处理

    一般情况下我们会采取两种方式进行处理:

    1 内连接inner join:在数据表中我们既然建立了主外键的关系,所有要读到两种相关联的表的数据是很简单的,我们只需要在sql语句中写个内连接就可以了

    如:select s.name,s.pwd,a.age from student s inner join Age a on s.id=a.id

    或者:select s.name,s.pwd,a.age from student,age where student.id=age.id

    2 每一张表对应一个类,在拥有外键的类中,创建一个拥有主键类的实例作为其属性,

      访问的时候思路就清晰多了

    在插入数据的时候,有时候我们需要这种效果,就是插进去之后,接着读取该插进去信息的记录,这个时候我们可以采取下面的方式实现

    private const string SQLINSERT = "insert into Books(Title,Author,CategoryId,UnitPrice,Clicks,PublisherId,PublishDate,ISBN,WordsCount,ContentDescription,AurhorDescription,EditorComment,TOC) values "        "(@Title,@Author,@CategoryId,@UnitPrice,@Clicks,@PublisherId,@PublishDate,@ISBN,@WordsCount,@ContentDescription,@AurhorDescription,@EditorComment,@TOC);" + "select @@identity as BOOKID";

    执行的结果就是这个BookID的值

    红色的部分就是直接获得它的id的,这样就能很好的获得它的信息了,但是只只适合sqlserver数据库,access数据库不支持,我们可以获得倒序排列的第一个id的信息就可以了select top 1 customid from tb_Custom order by customid desc

    多思考,多创新,才是正道!
  • 相关阅读:
    codevs-1205
    codevs-1204
    C++STL 求和:accumulate 【转】
    map映照容器
    set集合容器
    HDOJ-1263
    HDOJ-1004(map)
    紫书 例题 10-12 UVa 1637(概率计算)
    紫书 例题 10-11 UVa 11181(概率计算)
    紫书 例题 10-10 UVa 10491(概率计算)
  • 原文地址:https://www.cnblogs.com/shuang121/p/1964151.html
Copyright © 2020-2023  润新知