RemObjects教程

File—Other…—RemObjects Data Abstract—ComboServer

Step(1)

在出现的 NewRemObjects SDK Server 对话框中

Project Folder :文件存档路径

Project Name :工程名称

Also-Create a matching client application and a project group:在创建服务器端的同时创建客户端

Run then new server wizard to guide you through the setup of your project :在设置完后运行Data Abstract 向导

点击 Advanced Project Options 按钮进入高级设置

Template Location :模板位置

Project Name :工程名称

Service Library Name :自动生成的单元文件 _Intf,_Impl,_Invk 的名称

Service Name :服务名称

Server Class :服务器类

MessageClass :消息类

Create Test Client and Project Group 创建测试客户端和工程组文件

点击OK按钮后出现Data Abstract向导对话框

点击 Next 下一步

步骤1:Run schema modeler to define and configure your schema

       --运行Schema Modeler 在定义和配置你的架构

点击Next 下一步 稍等片刻后 Data Abstract Schema Modeler打开看到欢迎对话框

点击Next 下一步 来到数据库设置对话框

点击 Define Connection 按钮进入连接详细设置页面

Step 1 : Select what database driver to use to access your database

       选择数据库驱动

Step 2: select the aux-driver used to access the database

       选择辅助驱动

Step 3: Select the Server your database is located on :

       选择数据库所在的位置

Step 4:Select the login to use with the server:

       填入数据库登陆用户和密码

Step 5: Select the database you want to access:

       选择要访问的数据库

Step 6: Add custom Driver-dependent parameters

      添加自定义驱动的相关参数 (自动生成)

Setp 7: Select then name you want to use for this connection :

     给这个连接取一个名字

Test Connection 测试连接

设置好以后点击OK按钮返回上个页面并点击NEXT按钮进入

选择好我们需要的数据表

去掉 Include Foreign key – Master/Detail relationshiops (包括外键 主从关系)的选择

点击 Next j进入向导完成对话框

Close Schema modeler and return to the IDE

  关闭Schema modeler 并返回IDE

Keep Schema Modeler open and manually explore then Schema you created

  保持 Schema Modeler 打开并手动设置

点击Finish按钮 完成向导设置并进入步骤2

Step 2 : Compile and Launch Your Server Application

       编译并运行服务器程序

点击 Nextel按钮 进行编译

在编译完成后点击 OK按钮 继续向导

编译完成后服务器端自动运行此时点击Next 按钮 进行客户端设置

点击 Create 按钮

完成向导设置。

此时可以看到Data Abstract 为我们的客户端自动生成如下

看看工程文件

此时IDE打开是的工程是客户端工程 双击 服务器端工程继续设置

在IDE菜单 RemObject SDK中选择 Edit Service Library

打开 RemObjects Service Builder 设置工具

可以看到我们Remobjects已经为我们设置好了基本的东西

工具栏

Validate: 验证工程

Struct: 结构

Enum : 枚举

Array: 数组

Service : 服务

Event Sink :事件接收

Exception :例外

接下来我们来添加一个枚举类型。

点解Enum按钮后按下图设置枚举类型

这里我们设置了三个角色分别代表不同的权限

SalesRep – 销售

Manager —经理

Engineer – 技术

 

设置好枚举类型后接下来设置一个名叫LoginInfo的数据结构

如下图

接下来点击Service按钮增加一个服务命名为LoginService 并在Items中增加一个方法

Login并给这方法增加三个参数一个返回值

接下来给MageDemoService 服务增加一个方法GetCustomerOrders 并添加一个参数一个返回值

完成以后的

接下来可以点击Validate按钮来检查一下

关闭 Service Builder.

运行程序 出现 Select Ancestor Type for loginService 对话框 选择第三个

Data Abstract 4.0 Service 点击OK

呵呵发现错误,接下来看看到底是哪里错了呢

原来TMageDemoService 从一个接口中继承下来,那么来看看这个接口到底有什么呢

原来如此刚刚我们在Service Builder. 中MageDemoService服务下增加的一个方法出现在这里了,接下来很简单了将这个方法在TMageDemoService中定义一下,稍后在实现它

接下来我们要继续Schema Modeler 中的工作了

打开MageDemoService_Impl单元

双击Schema 控件,稍等片刻出现Schema

在 最左边的Data Tables 区域中我们发现了刚刚定义的两个表

随便点击这两个表,看看Browser区域有什么变化?

接下来点击Customers表,在Browser区域下方点击Statements标签页

选择Connection 为 Northwind。还记的我们在设置数据库连接时,定义的连接名称吗,这个就是了。

双击SQL 行 。嗯?没反应。是的,将 Statement Type 由stAutoSQL 改为stSQL 再试试!

出现对话框

<此表的SQL语句是空的,根据目标表创建一个新的SQL语句?>

点击 Yes 出现SQL语句编辑器。

点击下方的 Run as DataSet 按钮,看看发现了什么

关闭编辑器。

观察一下Column Mapping 中的内容。

接下在 Data Tables区域选择Orders 表。定位到Statements标签页,注意一下Target table 行

更改Statement Type 为 stSQL 双击SQL 行,打开SQL编辑器。对SQL语句做如下更改

关闭编辑器 保存改变。出现确定对话框

<声明的代码包含参数,但是参数没有在数据表中定义。你想基于这个参数创建声明吗?>

点击Yes

此时我们打开Fields 和Parameters 标签页,发现了什么?

接下来点击Schema 工具栏中的 relationships按钮来定义一个关系

定义好关系后我们可以检查一下,点击工具栏中Validate schema 按钮,根据向导进行检查。

关闭Schema.

运行一下工程发现又有错误。

原来引用了两个DataAbstract4_Intf单元,去掉一个。

保存一下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/720040.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【麒麟虚拟机】NetworkManager没有运行

麒麟V10 建linux麒麟虚拟机&#xff0c;发现&#xff0c;网络没有配置 提示&#xff0c;NetworkManager没有运行。编辑联接也不能配置 解决方法&#xff0c;在终端输入命令&#xff1a; sudo systemctl start NetworkManager 启动以后&#xff0c;编辑连接选自动以太网&…

事件、方法实现 on_radioGreen_clicked ,on_chkBoxUnder_clicked,Qfont,QPalette

Vertical Layout 、Horizontal Layout 实验窗体自适应布局 接上篇界面布局&#xff0c; 实验checkBox、radioBox 的事件槽&#xff0c; 使用Qfont组件变更纯文本框QPlainTextEdit中字体的下划线、加粗、斜体效果 使用调色板组QPalette变更纯文本框QPlainTextEdit中文本颜色 UI…

Sectigo OV通配符SSL证书多少钱?

在网络安全领域&#xff0c;SSL数字证书起着至关重要的作用&#xff0c;尤其是在保护网站和用户信息方面。而Sectigo OV通配符证书是一种常用的数字证书之一&#xff0c;它能够为同一域名下的多个子域名提供保护&#xff0c;还能够通过企业验证来增强安全性。那么&#xff0c;对…

Table 宽度超出页面宽度时,出现滚动条,单元格内容不换行实

修改前 方法 <div styleoverflow:auto><table stylewhite-space: nowrap></table> </div>修改后

【Gradio】Building With Blocks 块中的状 态 + 动态应用程序与渲染装饰器

State in Blocks 块中的状态 我们介绍了接口中的状态&#xff0c;这个指南将看看块中的状态&#xff0c;其工作原理大致相同。 全局状态 块中的全局状态与接口中的工作原理相同。在函数调用外创建的任何变量都是所有用户共享的引用。 会话状态 Gradio 支持会话状态&#xff…

IT入门知识第一部分《IT基础知识》(1/10)

目录 IT入门知识第一部分《IT基础知识》&#xff08;1/10&#xff09; 1.引言 2.第一部分&#xff1a;IT基础知识 2.1 计算机硬件 CPU&#xff1a;计算机的心脏 内存&#xff1a;数据的临时居所 存储设备&#xff1a;数据的长期仓库 输入输出设备&#xff1a;与计算机的…

LeetCode 48.旋转图像

1.做题要求: 2.从此题我们可以看出规律为第几行要变为倒数第几列&#xff0c;所以我们最好先把二维数组存入一维数组中&#xff0c;然后先从最后一列遍历&#xff0c;把一维数组里的元素&#xff0c;依次等于遍历的元素即可: void rotate(int** matrix, int matrixSize, int*…

【Seata】分布式事务解决方案——理论

目录 回顾什么是事务数据库事务的四大特性&#xff1a;ACID 分布式事务解释面临挑战分布式事务产生场景1. 单体架构中多数据源场景2. 分布式架构场景 分布式事务解决方案jta AtomikosLCN模式问题 Alibaba的Seata解决分布式事务问题 使用MQ解决分布式事务问题问题1&#xff1a;…

连接智能世界,Vatee万腾平台在行动

随着科技的飞速发展&#xff0c;我们生活在一个日益智能化的世界里。从智能家居到智慧城市&#xff0c;从无人驾驶到远程医疗&#xff0c;智能科技正以前所未有的速度改变着我们的生活。而在这场智能革命中&#xff0c;Vatee万腾平台凭借其前瞻性的视野和创新的实力&#xff0c…

企业级WordPress开发 – 创建企业级网站的优秀技巧

目录 1 “企业级”一词是什么意思&#xff1f; 2 使用 WordPress 进行企业级 Web 开发有哪些好处&#xff1f; 3 使用 WordPress 进行企业级开发的主要好处 3.1 WordPress 可扩展、灵活且价格实惠 3.2 WordPress 提供响应式 Web 开发 3.3 WordPress 提供巨大的可扩展…

全球进口家装水管十大品牌

随着科技进步发展&#xff0c;健康环保家居观念深入人心&#xff0c;家装管道用水安全对人们健康起来至关重要的作用&#xff0c;水管管道业主非常重视&#xff0c;但面临市场参差不齐的进口水管不知如何选择&#xff0c;下面就和大家推荐一下进口家装水管十大品牌 1.德国洁水…

未授权访问漏洞总结

以下总结了常见的未授权访问漏洞&#xff0c;还在持续更新中&#xff0c;遇到就会补充。欢迎大家关注~ 目录 FTP未授权访问&#xff08;21&#xff09; 漏洞原理 漏洞检测 漏洞利用 漏洞修复 LDAP未授权访问&#xff08;389&#xff09; 漏洞原理 漏洞检测 漏洞利用 …

MacOS - 启动台多了个『卸载 Adobe Photoshop』

问题描述 今天安装好了 Adobe Ps&#xff0c;但是发现启动台多了个『卸载 Adobe Photoshop』强迫症又犯了&#xff0c;想把它干掉&#xff01; 解决方案 打开访达 - 前往 - 资源库&#xff0c;搜索要卸载的名字就可以看到&#xff0c;然后移除到垃圾筐

Javaweb07-JavaBean技术和Jsp开发模式

JavaBean技术和Jsp开发模式 一.JavaBean技术 1.JavaBean的基本概念 **JavaBean组件&#xff1a;**与html分离且使用Java代码封装类 **JavaBean分类&#xff1a;**可视化JavaBean&#xff1a;swing 非可视化JavaBean&#xff1a;用于封装实体和业务逻辑 JavaBean特点&#x…

if/case条件测试语句

一 条件测试 1.1返回码 $? $? 返回码 用来哦按段命令或者脚本是否执行成功 0 true为真就是成功成立 非0 false 失败或者异常 1.2 test 命令 可以进行条件测试 然后根据返回值来判断条件是否成立 -e &#xff1a;exist 测试目录或者目录是否存在 -d : director…

华为北向网管NCE开发教程8(性能数据)

1接口说明 通过北向网管获取性能数据的接口&#xff0c;主要用PerformanceManagementMgr_I。 获取当前&#xff1a;getAllCurrentPMData 获取历史&#xff1a;getHistoryPMData Common_IHolder commonHolder new Common_IHolder(); emsSession.getManager("Performance…

itsm服务管理工具有哪些?

itsm&#xff08;IT服务管理&#xff09;是现代企业管理IT服务的关键框架&#xff0c;可帮助组织提供高效的IT服务&#xff0c;并确保业务持续运行。使用itsm服务管理工具是实现这一目标的关键&#xff0c;下面我们来看看itsm服务管理工具有哪些&#xff1a; 1. ServiceDesk Pl…

MyBatis中获取Mysql数据库插入记录的主键值

在MyBatis中&#xff0c;你可以使用多种方式获取插入记录的主键值。以下是常见的几种方法&#xff1a; 1. 使用 useGeneratedKeys 和 keyProperty 这是MyBatis提供的最直接的方法。在你的Mapper XML文件中&#xff0c;使用 useGeneratedKeys 和 keyProperty 来指定MyBatis在插…

为啥找对象千万别找大厂男,还好我不是大厂的。。

网上看到一大厂女员工发文说&#xff1a;找对象千万别找大厂男&#xff0c;理由说了一大堆&#xff0c;无非就是大厂男为了逃避带娃&#xff0c;以加班为由宁愿在工位上玩游戏也不愿回家。当然这种观点有的人赞同有的人反对。 网友精彩评论&#xff1a; --------------下面是今…

通过visualVM远程监控java进程

1. VisualVM 简介及功能介绍 VisualVM 是一个功能强大的工具&#xff0c;用于监视、分析、配置和调试 Java 应用程序的运行状态。它提供了丰富的功能来帮助开发者和运维人员理解和优化 Java 应用程序的性能。VisualVM 集成了多种 JDK 工具&#xff0c;并通过直观的 GUI 界面提供…