二次开发

1. 数据库表

打开数据库管理工具,找到COOX项目对应的数据库(若无,则创建)

1.1 COOX平台自带数据表


(请勿修改和删除系统自带表)

1.2 COOX中创建新表

在资源管理(Resources)中的持久性对象(Persisted objects)中创建。

(1)创建表UDT_Students,右键新建:

(2)添加表字段,设置索引,键等:

字段 描述
字段ID 整型,“主键”(默认自增),勾选“Key”
字段Name 短字符串型,“学生姓名”
字段Math 整型,“数学分数”
字段Physics 整型,“物理分数”

(3)项目保存,生成数据库


(4)查看新建的表

  • COOX中查看:

  • 数据库中查看

1.3 COOX中数据库操作对象认识

(1)DataSet

绑定数据源作用,设置要连接的数据库、表格等,同时设置查询条件、排序条件等

(2)DataTableView等

表格对象,连接数据源,展示数据库表内数据作用,同时可以设置是否可编辑等。

(3)Swing对象

COOX自带Java可视化控件,可以直接拖拽使用。同样,我们也可以外部制作好需要的控件导入,用JavaBean方式。

1.4 数据表展示

  • 手动给新建的表格UDT_Students添加几条测试数据
  • COOX页面中新增测试页面
  • 页面中拖入DataSet对象和DataTableView

    (1)设置DataSet属性


    (2)模拟运行测试

    (3)练习
    DataSet其他属性,自行参考手册设置和练习;DataTableView属性,也请自行参考手册设置和练习。

2. 利用代码实现数据库表的增删改查

在资源,Classes中创建类文件StudentsHelper,在里面编辑Java代码。并添加Import引入。

/** class StudentsHelper* Copyright (c) 2009 Ordinal Technologies. All Rights Reserved.*/import globalscreen.application.*;
import globalscreen.plugins.persist.DataSetSystem;
import globalscreen.plugins.persist.DataModel;
import globalscreen.application.persist.DataSet;public class StudentsHelper extends GlobalScript
{}

2.1 新增操作

(1)添加DataSet对象数据新增方法

/*** 新增数据* @param strName   学生姓名* @param iMath     数学分数* @param iPhysics  物理分数* @return 是/否新增成功*/public static boolean insertStudent(String strName,int iMath,int iPhysics){DataSet data = new DataSet("UDT_Students");try{data.prepareInsertValue("Name",strName);data.prepareInsertValue("Math",iMath);data.prepareInsertValue("Physics",iPhysics);return data.insertElement();}catch(Exception e){e.printStackTrace(); return false;}}

(2)页面中添加如下Swing控件

(3)给Add按钮绑定脚本事件

调用上文所述方法,插入数据

/*** btnAdd_mouseReleased(mouseEvent)*/
function btnAdd_mouseReleased(mouseEvent)
{var strName = txtNameAdd.getText();var iMath = parseInt(txtMathAdd.getText());var iPhysics = parseInt(txtPhysicsAdd.getText());if(helperClass.insertStudent(strName,iMath,iPhysics)){$UI.messageBox("提示","新增成功");}else{$UI.messageBox("提示","新增失败");}
}

(4)模拟运行测试

2.2 删除操作

(1)添加DataSet对象数据新增方法

/*** 删除数据(根据ID删除数据)* @param  lID  数据库表字段ID* @return 是/否删除成功*/public static boolean deleteStudent(long lID){DataSet data = new DataSet("UDT_Students");try{data.setFilter("ID="+lID+"");data.deleteAll();return true;}catch(Exception e){e.printStackTrace(); return false;}}

(2)页面中添加如下Swing控件

(3)给Delete按钮绑定脚本事件

/*** btnDelete_mouseReleased(mouseEvent)*/
function btnDelete_mouseReleased(mouseEvent)
{if(DataSet.getValue("ID")!=null){var lID = DataSet.getValue("ID");if(helperClass.deleteStudent(lID)){$UI.messageBox("提示","删除成功");}else{$UI.messageBox("提示","删除失败");}}else{$UI.messageBox("提示","请选择一行数据");}
}

(4)模拟运行测试

2.3 更新操作

(1)添加DataSet对象数据更新方法

/*** 更新数据(根据ID更新数据)* @param lID           数据库表字段ID* @param iMath         数学分数* @param iPhysics      物理分数* @return 是/否更新成功*/public static boolean updateStudent(long lID,int iMath,int iPhysics){DataSet data=new DataSet("UDT_Students");try{data.prepareInsertValue("ID",lID);data.prepareInsertValue("Math",iMath);data.prepareInsertValue("Physics",iPhysics);return data.updateElement();}catch(Exception e){e.printStackTrace(); return false;}}

(2)页面中添加如下Swing控件

(3)给Update按钮绑定脚本事件

/*** btnUpdate_mouseReleased(mouseEvent)*/
function btnUpdate_mouseReleased(mouseEvent)
{if(DataSet.getValue("ID")!=null){var lID = DataSet.getValue("ID");var iMath = parseInt(txtMathUpdate.getText());var iPhysics = parseInt(txtPhysicsUpdate.getText());if(helperClass.updateStudent(lID,iMath,iPhysics)){$UI.messageBox("提示","更新成功");}else{$UI.messageBox("提示","更新失败");}}else{$UI.messageBox("提示","请选择一行数据");}
}

(4)模拟运行测试

2.4 查询操作

直接JavaScript设置查询条件
(1)页面

(2)给Search按钮绑定脚本事件

/*** btnSearch_mouseReleased(mouseEvent)*/
function btnSearch_mouseReleased(mouseEvent)
{var iMath = parseInt(txtMathSearch.getText());DataSet.setFilter("Math >\"" + iMath +"");
}

(3)模拟运行测试


【结束】

COOX基础培训之二次开发(一)相关推荐

  1. COOX基础培训之二次开发(二)

    二次开发 3. 导入外部Jar包 3.1 MyEclipse中编写如下类文件,并打包 (1)HelloWorld类 package com.coox.extend;public class Hello ...

  2. COOX基础培训之SCADA(二)

    COOX基础培训之SCADA(二) 4. 工厂物理架构 4.1 创建实际物理设备 目标 创建实际物理设备 步骤 创建3个液体罐(Tank) 创建2个固体筒(Silo) 创建2个混合器(Buffer) ...

  3. COOX基础培训之SCADA(一)

    COOX基础培训之SCADA(一) 1.培训目标 能够使用COOX创建应用程序 掌握创建应用程序的主要步骤 能够使用和配置SCADA模块中的组件 2. 软件安装 2.1 安装模式 开发者模式:Buil ...

  4. COOX基础培训之RS

    COOX基础培训之RS Redundancy & Replication Service(冗余&备份服务) 摘要 服务器级的自动热冗余 如果COOX平台的一台服务器没有应答,或者其他服 ...

  5. COOX基础培训之SCADA Manufacture

    COOX基础培训之SCADA Manufacture 配方和可追溯性 使用MESBox PMT来构建COOX应用程序的主要步骤 分析项目 创建项目及项目架构 创建设备模型 创建工序(phases)模型 ...

  6. COOX基础培训之MTG

    COOX基础培训之MTG Material Tracking & Genealogy(物料追踪 & 谱系) 培训目标 能够在一组生产机器上组建MTG模块 能够追踪使用的物料 能够生成升 ...

  7. COOX基础培训之PMT

    COOX基础培训之PMT Production Management & Traceability(生产管理和可追溯性) 1. 生产管理术语 1.1 术语 PO = Production Or ...

  8. COOX基础培训之AM

    COOX基础培训之AM Archive Manager(存档管理) 1. 目标 备份文件恢复 从备份文件中读取数据 2. Archive Manager存档管理工具的使用 安装位于COOX Insta ...

  9. COOX基础培训之DiagTool

    COOX基础培训之DiagTool Diagnostic Tool(日志诊断工具) 1. 前言 项目日志文件在哪里? 在客户端电脑上,日志文件在哪里? 我该发送什么东西至技术支持? 2. 日志诊断工具 ...

最新文章

  1. 【网络编程】MarioTCP
  2. 中国人事考试网html制作,中国人事考试网 登录入口
  3. 计算机系毕业生自我评价,计算机系应届毕业生自我评价范文
  4. Linux内核 eBPF基础:Tracepoint原理源码分析
  5. Python、Lua和Ruby——脚本大P.K.
  6. anaconda安装——添加镜像源
  7. Todoist Chrome:待办事项列表及任务管理
  8. 开源库uthash第一弹uthash.h
  9. WIN7 64位 VS2013下载
  10. Codevs 3729==洛谷P1941 飞扬的小鸟
  11. pdf转wordpptexceljpg图片pdf编辑器转换修改
  12. VM虚拟机安装CentOS7系统后连接不上网络的问题(service netword restart)重启网卡和重置网络编译器
  13. CSS Core CSS hack CSS优化
  14. 电脑崩溃?黑客最爱邮件入侵方式,在双十一也要保护好网络安全!
  15. 学生学分信息管理系统-C语言
  16. C++ CMake入门和进阶(二):CMake语法
  17. 利用API读取日文输入方法表(Romaji-Kana conversion table)
  18. 理论力学中的 动量定理、动量矩定理、动能定理
  19. 7000 字梳理 RocketMq
  20. maven--TestEngine with ID ‘junit-vintage‘ failed to discover tests

热门文章

  1. airpak模拟案例_airpak气流组织模拟教程.pdf
  2. ios移动端滑动抖动的bug
  3. 代码工人还是程序员?
  4. 数制转换(十进制转二进制)
  5. 主机与虚拟机之间传输文件—Xshell安装与使用教程
  6. 前端生成txt文件并下载
  7. python中静态变量的作用_小白必读文章之全局变量与静态变量
  8. 4.编写一个程序来计算10000以内的素数之和并输出
  9. 产品经理如何跳出画图工具人
  10. 自动控制原理学习笔记(四)