`
firefly_liu
  • 浏览: 36196 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

html表格显示数据库中多对多关系的思考

阅读更多
select * from v_coll_port where

collid in (select collid from v_coll_port where pollid=@pollID

group by collid having count(collid) > 1)

select * from V_coll_port where portid in(

select portid from v_coll_port where pollid=@pollID

group by portid having count(portID)>1)

select * from v_coll_port where pollid=@pollID and collid in (

select collid from v_coll_port group by collid having count(collid) = 1

) and portID in (

select portID from v_coll_port group by portID having count(portID) = 1

)
 



以上代码造出一对多、多对一和一对一的三种关系并列表,在后台得到表格后做如下处理

DataTable dt12N = ds.Tables[0];
            DataTable dtn21 = ds.Tables[1];
            DataTable dt121 = ds.Tables[2];
            GridNotStyle g = new GridNotStyle(2,"black","white","white");
            for(int i=0;i<dt12N.Rows.Count;i++)
            {
                DataRow r = dt12N.Rows[i];
                if(i==0)
                {
                    g.SetHead(r["collName"].ToString()+"<br>编号:"+r["collID"].ToString()+"^r^"+dt12N.Rows.Count,
                        this.getPortName(r["portID"].ToString())+"<br>编号:"+r["portID"].ToString());
                }
                else
                {
                    g.SetHead(this.getPortName(r["portID"].ToString())+"<br>编号:"+r["portID"].ToString());
                }
            }
            for(int i=0;i<dtn21.Rows.Count;i++)
            {
                DataRow r = dtn21.Rows[i];
                if(i==0)
                {
                    g.SetHead(r["collName"].ToString()+"<br>编号:"+r["collID"].ToString(),
                        this.getPortName(r["portID"].ToString())+"<br>编号:"+r["portID"].ToString()+"^r^"+dtn21.Rows.Count);
                }
                else
                {
                    g.SetHead(r["collName"].ToString()+"<br>编号:"+r["collID"].ToString());
                }
            }
            foreach(DataRow r in dt121.Rows)
            {
                g.SetHead(r["collName"].ToString()+"<br>编号:"+r["collID"].ToString(),
                    this.getPortName(r["portID"].ToString())+"<br>编号:"+r["portID"].ToString());
            }
 



只是这样的方法只能处理一对多、多对一和一对一都单独存在的情况,倘若是向错的多对多,还真是没有想到更好的办法 

分享到:
评论

相关推荐

    数据库应用实践教学大纲

    【数据库应用实践教学大纲】是针对电子商务专业的一门实践性课程,旨在使学生掌握数据库在Web环境中的实际应用。这门课程围绕SQL Server 2005、HTML、JavaScript、CSS、ASP.NET技术和数据库访问技术展开,同时也关注...

    ACCESS数据库应用教程

    ACCESS是Microsoft Office套件中的一个关系型数据库管理系统,被广泛应用于个人和小型企业环境中。它提供了直观的界面和强大的功能,使得用户能够轻松创建和管理数据库。ACCESS支持SQL语言,能够进行复杂的数据查询...

    数据库实验心得体会.doc

    实验过程中,我们系统地学习了数据库的基础知识,包括创建表格、导入数据、执行查询以及数据的插入操作。这些基础技能是理解和掌握数据库系统的关键。 首先,数据库的概念是我在高中时期初次接触的,但那时仅停留在...

    计算机大学IT表格

    最后,计算机伦理和社会影响课程会让学生思考技术对社会的影响,以及作为IT专业人士应承担的责任。 以上这些知识点是计算机大学IT教育中可能覆盖的部分内容,实际的"计算机大学IT表格"可能根据具体学校的课程设置...

    数据库管理与应用-3期(KC004) 任务7-2 BS应用系统开发教学设计.docx

    首先,教学引入阶段,教师会引导学生思考在Web应用开发中如何有效地利用数据库。这涉及到数据库与Web应用的集成,以及如何通过编程语言(如ASP.NET或PHP)与数据库进行交互。 接下来,进入知识点讲解环节: 1. **...

    奇偶行背景颜色不一样的数据表格.zip

    数据表格是一种常见的用户界面元素,用于组织和展示结构化数据,如报表或数据库中的信息。在网页、应用程序或软件中,表格通常由行列构成,用于分类和比较数据。 在数据表格中,奇偶行背景色不一是一种常见的视觉...

    完整纯jsp的网络记事本(简单实用,非常适合初学者),带小型Sqlite数据库

    【标题】"完整纯jsp的网络记事本(简单实用,非常适合初学者),带小型Sqlite数据库",这个项目是一个适合初级开发者学习的实践案例,它...记得在实践中多思考、多调试,不断探索和解决问题,这样才能从中学到更多。

    POI导入Excel表格数据小例子

    ### POI导入Excel表格数据小例子 #### 一、背景介绍 Apache POI 是一个用于读写 Microsoft Office 格式文件的 Java API,包括 Excel、Word 和 PowerPoint 等。本例通过 Apache POI 库将 Excel 文件中的数据导入到...

    2021-2022计算机二级等级考试试题及答案No.348.docx

    - **知识点**: 在关系数据库中,实体之间的关系可以分为一对一(1:1)、一对多(1:n)、多对一(n:1)以及多对多(m:n)四种类型。 - **解释**: 在同一学校中,系与教师之间的关系通常是一对多关系。每个系可能有多...

    2021-2022计算机二级等级考试试题及答案No.11430.docx

    16. 在一对多的关系中,一的一方(表A)的一个记录可以与多的一方(表B)的多个记录匹配。 17. MATLAB命令`M=[28+2]`创建了一个矩阵,再次执行`?M`会显示原始的命令,即`[28+2]`。 18. Visual Basic中,语句分隔符...

    java 编程入门思考

    15.7 用JDBC连接数据库 15.7.1 获得学习示例 15.7.2 查找程序的GUI版本 15.7.3 JDBC API为何如何复杂 15.8 远程方法 15.8.1 远程接口概念 15.8.2 远程接口的实施 15.8.3 创建根与干 15.8.4 使用远程对象 15.8.5 RMI...

    2021-2022计算机二级等级考试试题及答案No.18545.docx

    ### 计算机二级等级考试知识点解析 ...以上是对部分计算机二级等级考试题目的知识点解析,涵盖了编程基础、数据库概念、网络应用等多个方面。这些知识点对于准备参加此类考试的学生来说至关重要。

    access二级模拟题及答案

    关系类型**: 学生与课程之间的关系是典型的多对多关系,这种关系在数据库设计中需要特别注意,通常通过中间表来实现。 ### 七、操作与文件格式 **15. 操作按钮功能**: 在表中,“插入记录”按钮用于在当前光标...

    cmsish世界最简单的CMS使用谷歌文档作为数据库后端

    **CMSish:构建轻量级内容管理系统的创新实践** CMSish 是一款独特的内容管理系统,它以其...通过学习和研究CMSish,开发者不仅可以掌握如何结合谷歌文档和JavaScript构建应用,还能激发更多关于Web开发的创新思考。

    Java面试宝典

    - **非关系型数据库**:不采用表格形式的数据存储方式,如MongoDB、Cassandra等。 2. **表的设计**:包括表的结构设计、索引设计等。 3. **数据类型**:如整数类型(int)、浮点类型(float)、字符串类型(varchar)等。...

    2021-2022计算机二级等级考试试题及答案No.12410.docx

    这些试题涵盖了计算机基础知识、办公软件应用、数据库操作、网络技术等多方面的知识,对考生的综合能力有一定要求。准备这类考试时,考生需要全面复习相关知识,并进行实际操作练习,以提高应对考试的能力。

    2021-2022计算机二级等级考试试题及答案No.2743.docx

    以上是对计算机二级等级考试中涉及知识点的详细解释,涵盖了操作系统、编程语言、数据库管理、软件工程等多个方面。这些知识点对于理解和操作计算机系统,以及进行软件开发和数据分析至关重要。

    2021-2022计算机二级等级考试试题及答案No.18991.docx

    4. 关系模型关键字:在关系数据库中,关键字是由一个或多个属性组成的,能够唯一标识一条记录。 5. 构造函数:在面向对象编程中,类可以有私有的构造函数,用于初始化对象内部状态。 6. 回收站:在操作系统中,...

Global site tag (gtag.js) - Google Analytics