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是Microsoft Office套件中的一个关系型数据库管理系统,被广泛应用于个人和小型企业环境中。它提供了直观的界面和强大的功能,使得用户能够轻松创建和管理数据库。ACCESS支持SQL语言,能够进行复杂的数据查询...
实验过程中,我们系统地学习了数据库的基础知识,包括创建表格、导入数据、执行查询以及数据的插入操作。这些基础技能是理解和掌握数据库系统的关键。 首先,数据库的概念是我在高中时期初次接触的,但那时仅停留在...
最后,计算机伦理和社会影响课程会让学生思考技术对社会的影响,以及作为IT专业人士应承担的责任。 以上这些知识点是计算机大学IT教育中可能覆盖的部分内容,实际的"计算机大学IT表格"可能根据具体学校的课程设置...
首先,教学引入阶段,教师会引导学生思考在Web应用开发中如何有效地利用数据库。这涉及到数据库与Web应用的集成,以及如何通过编程语言(如ASP.NET或PHP)与数据库进行交互。 接下来,进入知识点讲解环节: 1. **...
数据表格是一种常见的用户界面元素,用于组织和展示结构化数据,如报表或数据库中的信息。在网页、应用程序或软件中,表格通常由行列构成,用于分类和比较数据。 在数据表格中,奇偶行背景色不一是一种常见的视觉...
【标题】"完整纯jsp的网络记事本(简单实用,非常适合初学者),带小型Sqlite数据库",这个项目是一个适合初级开发者学习的实践案例,它...记得在实践中多思考、多调试,不断探索和解决问题,这样才能从中学到更多。
### POI导入Excel表格数据小例子 #### 一、背景介绍 Apache POI 是一个用于读写 Microsoft Office 格式文件的 Java API,包括 Excel、Word 和 PowerPoint 等。本例通过 Apache POI 库将 Excel 文件中的数据导入到...
- **知识点**: 在关系数据库中,实体之间的关系可以分为一对一(1:1)、一对多(1:n)、多对一(n:1)以及多对多(m:n)四种类型。 - **解释**: 在同一学校中,系与教师之间的关系通常是一对多关系。每个系可能有多...
16. 在一对多的关系中,一的一方(表A)的一个记录可以与多的一方(表B)的多个记录匹配。 17. MATLAB命令`M=[28+2]`创建了一个矩阵,再次执行`?M`会显示原始的命令,即`[28+2]`。 18. Visual Basic中,语句分隔符...
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...
### 计算机二级等级考试知识点解析 ...以上是对部分计算机二级等级考试题目的知识点解析,涵盖了编程基础、数据库概念、网络应用等多个方面。这些知识点对于准备参加此类考试的学生来说至关重要。
关系类型**: 学生与课程之间的关系是典型的多对多关系,这种关系在数据库设计中需要特别注意,通常通过中间表来实现。 ### 七、操作与文件格式 **15. 操作按钮功能**: 在表中,“插入记录”按钮用于在当前光标...
**CMSish:构建轻量级内容管理系统的创新实践** CMSish 是一款独特的内容管理系统,它以其...通过学习和研究CMSish,开发者不仅可以掌握如何结合谷歌文档和JavaScript构建应用,还能激发更多关于Web开发的创新思考。
- **非关系型数据库**:不采用表格形式的数据存储方式,如MongoDB、Cassandra等。 2. **表的设计**:包括表的结构设计、索引设计等。 3. **数据类型**:如整数类型(int)、浮点类型(float)、字符串类型(varchar)等。...
这些试题涵盖了计算机基础知识、办公软件应用、数据库操作、网络技术等多方面的知识,对考生的综合能力有一定要求。准备这类考试时,考生需要全面复习相关知识,并进行实际操作练习,以提高应对考试的能力。
以上是对计算机二级等级考试中涉及知识点的详细解释,涵盖了操作系统、编程语言、数据库管理、软件工程等多个方面。这些知识点对于理解和操作计算机系统,以及进行软件开发和数据分析至关重要。
4. 关系模型关键字:在关系数据库中,关键字是由一个或多个属性组成的,能够唯一标识一条记录。 5. 构造函数:在面向对象编程中,类可以有私有的构造函数,用于初始化对象内部状态。 6. 回收站:在操作系统中,...