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)模拟运行测试
在这里插入图片描述
在这里插入图片描述

扫描二维码关注公众号,回复: 3770530 查看本文章

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)模拟运行测试
在这里插入图片描述
在这里插入图片描述


【结束】

猜你喜欢

转载自blog.csdn.net/lincshao/article/details/83503220