是否有相当于使用DDS在iSeries上使用C#接口。例如,假设我有这个......
Person
------
name
address
Teacher : Person
-------
school
Policewoman : Person
-----------
weapon
......老师和女警都是人,但还有其他领域......
在C#中你会声明Person,然后教师和女警都会将人作为界面。
我如何在iSeries上的DDS中执行此操作?我正在寻找一些我可以留在DDS中的教师和女警文件,这些文件将指向Person文件,并且知道该名称和地址是教师和女警的领域。
提前致谢。
答案 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));
然后,您只需PEOPLE
与TEACHERS
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”界面感觉。