3.右键单击顾客编号,选择属性。
4.在General中,设置Autonumber为Ture。这样,生成程序就自动为每一个顾客实例赋一个顾客编号。
Figure 19 Define Attribute (Properties) window
5.在Control Info中设置如下属性: ? Input type=Descriptions
? Description from=CustomerName ? Suggest=Incremental
按照这样,你可以直接输入用户名而不用输入用户编号,生成程序自动找到相对应的顾客编号。suggest属性将会对你输入的用户姓名进行提示。这些属性是GeneXus继承AJAX的一部分。
顾客结构,Form,Web Form如下显示。
第 21 页 共 77 页
Figure 20 Customer transaction Structure
Figure 21 Customer Transaction (GUI) Form
Figure 22 Customer Transaction Web Form 注意发票Web Form改变反映了顾客编号属性的改变,也就是说顾客姓名是顾客编号的描述属性。这将大大加强应用程序的可用性,我们稍后就会看到。
第 22 页 共 77 页
Figure 23 Invoice Transaction Web Form
第十步:查看数据模式的改变
通过GeneXus查看那数据模式的改变(记住:当保存数据知识库时,新的数据模式自动生成)。按照如下做:
1.在Tools菜单中,单击List DataBase。
2.如果MOdified复选框选中,将其取消。
3.在Select Object对话框中,单击Select All和OK。一个新的数据库报名将会产生。
你将会发现在包含新的事务后,GeneXus自动将你的数据模型正常化。 //模糊
第 23 页 共 77 页
注意:
? GeneXus添加了一个新表:顾客表(同顾客事务联系);
? 顾客姓名属性已经从发票表中移除(这个属性值存储在顾客表里),是数据库正常化。
? 在顾客表中:
? 可以有两个顾客有同样的顾客编号。
? 对每一个顾客编号只能有唯一的顾客姓名,顾客地址和顾客邮箱。 ? 在发票表中:
? 不能有两个发票有同样的发票编号。
? 在发票表中,顾客编号是同顾客表联系的外键。这样,在顾客表和发票表中存在一对多的关系:
? 对于每一个发票编号有且只有一个顾客编号。
? 每一个顾客编号可能被存储在多个发票表中(发票编号)。
? 如果你选择Show Detailed list选项,GeneXus将会显示表的索引,他能帮助你更有效的访问数据库。我们将在第15步看到更多的详细信息。Step 15: Viewing the Specification Report.
自动生成数据库
到目前为止,我们描述了应用程序所必需的条件,一系列被称为事物的GeneXus对象。GeneXus根据这个推断出支持你的事物的数据模型。
我们在设计模型中做了之前的操作。设计模型用来定义我们应用程序的独立平台。为了生成一个工作程序(数据库计划+源码+执行程序),我们将使用原型模型和生产模型。
第 24 页 共 77 页
第十一步:你应用程序的原型 本步要点 原型模型和生产模型:为了在一个特殊的软件平台上生成和保持一个工作应用程序,我们需要定义原型模型和生产模型。对于每一个原型模型和生产模型,定义一个DBMS,一个目标语言和一系列附加参数。GeneXus将会在选择的平台中自动生成、保存数据库计划和所有程序。这样的话,GeneXus分析员不需要对目标平台有很深的知识。 在设计,原型和生产模块中有图形化的描述,可以看Appendix I: GeneXus Models
现在选择选择在哪个平台上生成应用程序:.NET还是JAVA ? 如果在.NET上生成,按照Step 11-A ? 如果在JAVA上生成,按照Step 11-B
第十一步完成以后,无论你选择哪个平台,都接着12步向下做。
第11-A:用MSDE在.NET原型你的应用程序 //可能翻译有误
在开始之前,在系统必需条件章节中查看.NET Generator Requirements,确定你有能够运行程序的必要软件。
要看一下支持DBMS的完整列表,可以看http://www.genexus.com/technologies
1.如果你用DBMS而不是MSDE,数据库不是被GeneXus建立的。在建立原型和生产模型之前,用DBMS建立一个新的数据库并确定你有合适的权限使用它。在MSDE,我们用已经建立的\数据库。
2.从Model Toolbar中选择Prototype.
Figure 25 Model Toolbar detail
3.将会出现一个建立新的原型模型的提示,点击OK。
第 25 页 共 77 页