使用DDS在iSeries上等效的接口

时间:2015-09-29 19:02:44

标签: ibm-midrange db2-400

是否有相当于使用DDS在iSeries上使用C#接口。例如,假设我有这个......

Person
------
name 
address


Teacher : Person
-------
school



Policewoman : Person
-----------
weapon

......老师和女警都是人,但还有其他领域......

在C#中你会声明Person,然后教师和女警都会将人作为界面。

我如何在iSeries上的DDS中执行此操作?我正在寻找一些我可以留在DDS中的教师和女警文件,这些文件将指向Person文件,并且知道该名称和地址是教师和女警的领域。

提前致谢。

4 个答案:

答案 0 :(得分:2)

首先,我们建议客户现在使用SQL DDL而不是本机DDS:http://www.ibmsystemsmag.com/ibmi/developer/modernization/A-Debate--DDS-vs--DDL/

回答你的问题,对于这种类型的表“继承”结构,我们可以使用ER图中的ISA关系对其进行建模。您可以在此处查看类似问题的答案:Entity Relationship Diagram. How does the IS A relationship translate into tables?

基本上,你会做这样的事情:

CREATE TABLE PEOPLE(
  ID INTEGER,
  NAME VARCHAR(20),
  ADDRESS VARCHAR(200),
  PRIMARY KEY(ID));

CREATE TABLE TEACHERS(
  ID INTEGER,
  SCHOOL VARCHAR(20),
  FOREIGN KEY(ID) REFERENCES PEOPLE(ID));

CREATE TABLE POLICE_OFFICERS(
  ID INTEGER,
  WEAPON VARCHAR(10),
  FOREIGN KEY(ID) REFERENCES PEOPLE(ID));

然后,您只需PEOPLETEACHERS POLICE_OFFICERS加入<?php echo '<button type="button" class="button_a" data-post_id="' .$button_id_a. '">' ;?> button A <?php echo '</button>';?> ,即可获取所有其他字段。

答案 1 :(得分:1)

我不知道任何支持继承的关系DBMS。

最接近的是通过标准SQL DDL(不是DDS)

CREATE TABLE Teacher LIKE Person;
ALTER TABLE Teacher
  ADD COLUMN school char(30);

使用DDS,您所能做的就是使用Person作为教师

中字段的参考
A                                      REF(PERSON)                   
A          R TEACHERR                                                
A            NAME      R
A            ADDRESS   R
A            SCHOOL        30A

但是,RDBMS和OO语言(如C#)之间存在根本区别。将两者联系在一起是对象/关系映射(ORM)的目的

答案 2 :(得分:0)

您无法在IBM中端使用C#样式接口。

您可以编写java接口并在java类中实现该接口。

在DDS中,你不能做接口,因为接口是方法,属性表是行和列。

答案 3 :(得分:0)

您可以使用Visual Studio中内置的C#连接到带有ODBC的AS400 本机400 DDS文件具有字段,如Access。您可以在记录中加载这些字段。然后,您将在C#设计中使用SQL连接到400。 您可以从400文件中读取记录,在DataGridView中构建列/行recs, 将400 rec中的字段值加载到DataGridView ...然后BANG!在表单中弹出DataGridView。使用C#进行INSERT&amp;编码删除,你在家免费。只要DDS存在于400上,您就可以使用ODBC连接它并为用户提供“PC”界面感觉。