COOX基础培训之二次开发(一)
二次开发
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基础培训之二次开发(一)相关推荐
- COOX基础培训之二次开发(二)
二次开发 3. 导入外部Jar包 3.1 MyEclipse中编写如下类文件,并打包 (1)HelloWorld类 package com.coox.extend;public class Hello ...
- COOX基础培训之SCADA(二)
COOX基础培训之SCADA(二) 4. 工厂物理架构 4.1 创建实际物理设备 目标 创建实际物理设备 步骤 创建3个液体罐(Tank) 创建2个固体筒(Silo) 创建2个混合器(Buffer) ...
- COOX基础培训之SCADA(一)
COOX基础培训之SCADA(一) 1.培训目标 能够使用COOX创建应用程序 掌握创建应用程序的主要步骤 能够使用和配置SCADA模块中的组件 2. 软件安装 2.1 安装模式 开发者模式:Buil ...
- COOX基础培训之RS
COOX基础培训之RS Redundancy & Replication Service(冗余&备份服务) 摘要 服务器级的自动热冗余 如果COOX平台的一台服务器没有应答,或者其他服 ...
- COOX基础培训之SCADA Manufacture
COOX基础培训之SCADA Manufacture 配方和可追溯性 使用MESBox PMT来构建COOX应用程序的主要步骤 分析项目 创建项目及项目架构 创建设备模型 创建工序(phases)模型 ...
- COOX基础培训之MTG
COOX基础培训之MTG Material Tracking & Genealogy(物料追踪 & 谱系) 培训目标 能够在一组生产机器上组建MTG模块 能够追踪使用的物料 能够生成升 ...
- COOX基础培训之PMT
COOX基础培训之PMT Production Management & Traceability(生产管理和可追溯性) 1. 生产管理术语 1.1 术语 PO = Production Or ...
- COOX基础培训之AM
COOX基础培训之AM Archive Manager(存档管理) 1. 目标 备份文件恢复 从备份文件中读取数据 2. Archive Manager存档管理工具的使用 安装位于COOX Insta ...
- COOX基础培训之DiagTool
COOX基础培训之DiagTool Diagnostic Tool(日志诊断工具) 1. 前言 项目日志文件在哪里? 在客户端电脑上,日志文件在哪里? 我该发送什么东西至技术支持? 2. 日志诊断工具 ...
最新文章
- 【网络编程】MarioTCP
- 中国人事考试网html制作,中国人事考试网 登录入口
- 计算机系毕业生自我评价,计算机系应届毕业生自我评价范文
- Linux内核 eBPF基础:Tracepoint原理源码分析
- Python、Lua和Ruby——脚本大P.K.
- anaconda安装——添加镜像源
- Todoist Chrome:待办事项列表及任务管理
- 开源库uthash第一弹uthash.h
- WIN7 64位 VS2013下载
- Codevs 3729==洛谷P1941 飞扬的小鸟
- pdf转wordpptexceljpg图片pdf编辑器转换修改
- VM虚拟机安装CentOS7系统后连接不上网络的问题(service netword restart)重启网卡和重置网络编译器
- CSS Core CSS hack CSS优化
- 电脑崩溃?黑客最爱邮件入侵方式,在双十一也要保护好网络安全!
- 学生学分信息管理系统-C语言
- C++ CMake入门和进阶(二):CMake语法
- 利用API读取日文输入方法表(Romaji-Kana conversion table)
- 理论力学中的 动量定理、动量矩定理、动能定理
- 7000 字梳理 RocketMq
- maven--TestEngine with ID ‘junit-vintage‘ failed to discover tests