005-webbuilder应用-访问数据库-basic-dialog-edit

article/2025/9/13 11:49:03

访问数据库的方式

WebBuilder默认提供基于JDBC的数据库访问控件和APi来访问数据库,具有灵活的访问方式和高效的性能。这些控件和API提供了从运行SQL,获取数据到自动生成指定类型的脚本等一系列操作。

使用数据库访问控件

数据库访问控件默认位于控件箱DataAccess目录下。

query

查询控件,用于运行SQL语句,返回SQL运行生成的结果集ResultSet或影响记录数。
该控件执行后,其返回结果和输出参数存储在HttpServletRequest对象的attribute中。在ServletScript中可以使用app.run()方法完成相同功能。

dataprovider

数据源控件,用于根据SQL生成指定类型的输出,比如用于表格的JSON语句,用于图片或者下载的流数据等。

configs: dictTableNames

数据字典表名列表(数据字典表就是数据表),多个表名以“,”f分隔。**用于数据源中的字段元数据信息对应到字典表中的同名字段设置的字典信息。**数据库实体表名无需对应到指定的字典表,因为字典信息仅仅通过字段名称来进行对照和识别,因此相同的字典表可以应用到不同的实体表中。如果指定多个字典表时存在重复字段,可以通过设置dictFieldsMap属性来区分。
通俗来讲就是给表格的列加上我们在数据表中给每列加的注释。

updater

数据更新控件,用于根据输入的参数自动对指定数据库表进行增删查改操作。它可以根据需要增删改的数据,自动生成增删改SQL语句。增删改数据中包含了新的记录字段值,也包含了新的需要被修改或删除记录的原值。该控件默认自动启用数据库事务,使所有的增删改操作在同一个事务内处理。该控件还支持批量操作,可以对数据表执行批量的增删改。

tableName

需要更新的实体表名称。所有自动生成的SQL语句均基于该表

mode

数据更新的类型,设置此属性则只更新此种类型

app.update({tableName:'value',mode:'update/insert/delete'
})

sqlswitcher

SQL切换控件,用于根据系统指定的默认数据库类型自动切换到对应的SQL语句。

使用数据库访问API

数据库访问API可以方便在Java或者ServerScript中对数据库进行访问。
以下是适用于ServerScript的API:

app.run

用于运行SQL语句,等同于query控件

app.update(config)

执行上下文绑定的insert, update, delete数据库更新操作。
config:配置参数对象,见updater组件
config实例:

app.update({tableName:'WB_MISC',mode:'update'
});

app.output(sql, [config], [returnScript])

从数据库获取数据,并且输出指定格式的脚本,图片或者流数据到客户端
sql就是sql语句
config时配置参数对象,见DataProvider控件的使用
returnScript:是否返回脚本,false直接输出,true返回生成的脚本,默认为false.

app.output('select BLOB_FIELD from WB_MISC where ID_FIELD = {?ID_FIELD?}', {type:'object'});

相关控件

store

store封装了客户端的数据模型,可以通过设置url属性来读取后台的数据,这个控件默认位于控件箱Data Access目录。设置autoLoad属性为true可以使store自动加载url指向的数据,如果不设置此属性可以通过store.locad()方法来加载数据。

grid

表格控件。 用以表格的形式显示数据。该控件封装了Ext.grid.panel类

Configs: gridLine

是否显示表格的网格线,默认是false

Configs:multiSelect

允许多选

新建表格

新建click点击事件,点击按钮就新建一行

Wb.addEdit(app.edit1);

在这里插入图片描述

Wb

verrifyGrid(Object):boolean

验证可编辑表格数据是否合法。如果非法,系统将焦点转移到第一个非法的单元格
返回ture合法,false不合法

if(!Wb.verifyGrid(app.grid1))
return;

sync(configs)

把表格或者store数据同步到后台。同步操作在一个请求内完成

Wb.sync({grid:app.grid1,url:'m?xwl=demo/crud-database-access/simple-save',message:'正在保存中',success:function(resp){app.store.commitChanges();//如果存在多个store可以设置normalName属性或者通过app.grid.store方式找到store对象,执行完这一句应该是表格也更新了。Wb.toast('已经成功保存数据.');}
})

setTitile(panel, subTitle)

设置面板的子标题,子标题将以“标题-子标题”的形式显示在面板标题上。
在这里插入图片描述
这里的增删查改就是window的标题,添加就是通过ServerScript脚本设置的

app.win.show();
app.win.setIconCls('record_add_icon');
Wb.setTitle(app.win, '添加');
app.isNew = true;

apply(object, config)

把config中的值复制到object中,defaults为config的默认值。

add(object, records)

var newRecords = Wb.add(app.grid1, [{field: 'foo'}, {field:'bar'}]);

其中object是表格或store对象
records是添加包含数据的对象或对象列表

applyIf

如果object中不存在相同名称的值,则把config中的值复制到object中
返回的还是object对象本身

var values;
values = Wb.applyIf(Wb.getValue(win), Wb.getData(app.editRec, true));

getData(records, [mergeFields], [fieldNames])

获取表格记录中的数据对象。
records记录或数组。如果值为grid或store将获取表格中所有记录数据。
mergeFields:是否合并记录原始值和修改值,原始记录的字段加#前缀。默认为false
返回记录或记录组成的列表。

update(record, data, commit)

把指定对象的数据更新到记录中。如果对象的属性未在记录中找到对应的字段,该对象属性将被忽略。
record:需要更新的记录
data:数据对象
commit:更新完成之后是否自动提交,默认为true.

setValue(components, values)

对指定控件下的一组控件进行赋值, 其值由values对象指定,values中的每一个子项的名称为控件为itemId,值为控件值

Wb.setValue(win, {text1:'foo', date1:new Date()});

del(object, [config])

删除表格中选择的记录。 首先提示确定是否删除,然后向后台发送请删除数据请求, 最后在请求返回后删除表格中的数据
object:表格或者store对象
configs配置参数

  • url: 后台url地址
  • params: 参数对象
  • failure:调用失败后触发的事件
  • success:调用成功后触发的事件
  • titleField:用户提示信息的标题字段名称。

window

弹出的可拖动并调整大小的容器控件,用于实现应用的窗口。该控件疯转了Ext.window.window类

editWin

指定该窗口为编辑窗口,编辑窗口是指dialog为true,autoReset为true的窗口

forceController

应该是必须是字符串的类型

ok(win, options)

如果窗口是对话框,该事件将在点击确认按钮或按回车键时触发.
obj就是该事件。

getValue(compoents, [itemIds], [getFileName], [excludeTextValue])

要获取指定控件及其所包含的所有控件的值和显示文本组成的对象,对象中每一个值的名称为指定控件的itemId,显示文本的名称为指定控件的itemId加前缀’%’.只有具有getValue()方法的控件的值才能被获取。如果控件还具有getTextValue()方法。则其显示文本也将被提取。如Text控件将获得值,conbo控件将获得值和显示文件,panel控件不获得值(添加getValue()方法除外)。如果控件下存在重复itemI的()控件,则只返回第一个控件值,其余重名的控件将被忽略。Example:

var jsonObject1 = Wb.getValue(app.window1);//获取window1下所有控件的值组成的对象
var jsonObject2 = Wb.getValue([text1, date1]);//获取text1和date1的值组成的对象。

Parma

默认窗口

添加默认窗口为隐藏,非模态,可调整大小,可拖动,关闭时默认隐藏的窗口。
设置model属性为true可以模态显示窗口,
设置autoShow属性为true可以在窗口关闭(隐藏)时自动重置窗口内所有组件。
当需要显示窗口时,可以使用类似以下的代码:

app.win.show();

消息框

win.toast()

显示无标题栏的自动隐藏的消息窗口

sys:系统参数和变量

sys.id

当前发起请求时服务器产生的id号,每次请求id均唯一

今天将将做完这个basic-dialog-edit,基本所有知识点都在这篇博客里面,明天再做一遍加深以下。


http://chatgpt.dhexx.cn/article/y9lQS6Id.shtml

相关文章

002-webBuilder的HelloWorld应用与表格应用

Hello World应用 依照惯例,还是helloWorld 打开集成开发环境 主界面选择【开发套件】->【集成开发环境】或者直接输入[url/ide]打开 添加Hello World模块 1. 创建目录 点击左侧文件列表中的【模块】节点,点击顶部工作条【添加目录】按钮或者直…

强大的快速开发平台WebBuilder(简称WB)

WebBuilder是一款强大,全面和高效的应用开发和运行平台。基于浏览器的集成开发环境,可视化和智能化的设计,能轻松完成常规应用和面向手机的移动应用开发。包含多项先进技术,使应用系统的开发更快捷和简单。 WB集成开发环境 wb的…

Web快速开发平台

Putdb WebBuilder 官网: http://www.putdb.com WebBuilder是一款开源的跨平台、数据库和浏览器的可视化Web应用开发平台。WebBuilder使用了多项最新的技术,使Web应用的开发更快捷和简单。作为一款高效的Web开发工具,WebBuilder的特色是&#…

PTX JIT complied failed

记录一下我遇到的问题。 我在安装cupy运行的时候出现这个问题; 我运行的环境是Ubuntu,由于同时装了cuda9.0和cuda10.0,导致cupy安装出现了问题。 首先 import cupy as cp print(cp.show_config())结果 如果这里CUDA同时有9.0和10.0可能就会出…

Please check CUDA_ARCH_PTX or CUDA_ARCH_BIN in your build configuration错误解决

在RTX2060显卡的机器上,编译了cuda opencv4.4没有报错,但是使用gpu就报错,报错如下: classes, confidences, boxes net.detect(image, confThreshold, nmsThreshold) cv2.error: OpenCV(4.4.0) /home/ycc/opencv-4.4.0/modules/…

PTX-TK-PEG-NH2 紫杉醇-酮缩硫醇-聚乙二醇-氨基的制备

今日瑞禧生物小编给大家整理分享一种PLGA-SS-PEG-Cur 聚丙交酯乙交酯共聚物-双硫键-聚乙二醇-姜黄素的应用。 紫杉醇分子式为C47H51NO14,在临床上应用广。紫杉醇作为一个二萜生物碱类化合物,具有新颖复杂的化学结构、显著的生物活性、全新独特的作用机制…

CUDA PTX ISA阅读笔记(二)

8. 第八章 指令集 这一章占了整个手册的一大半(百十来页吧),主要介绍各种指令,虽然页数很多,但是大多数指令都很简单。 8.1. 指令的形式和语义描述 这章就是主要描述每个PTX指令。除了指令的形式和语义之外还有一些例子来描述这些指令的使…

CUDA(19)之PTX优化原理

摘要 本文主要讲述CUDA中的PTX的原理实现和分析。 1. 不作优化的代码实现 Nvidia GTX 1050, CUDA 8.0测试代码如下&#xff1a; #include "cuda_runtime.h" #include "device_launch_parameters.h"#include <stdio.h>__global__ void gpu(int *d_…

Cy5/FITC/CY3/CY7-Nab-PTX ,荧光标记白蛋白结合型紫杉醇

Cy5 (Cyanine 5) 是一种发远红(far-red)荧光的花青素荧光染料&#xff0c;分为普通Cy5和磺化Cy5(Sulfo-Cy5)。它的消光系数很高&#xff0c;荧光很亮&#xff0c;并且对pH不敏感&#xff0c;一般可以用633 nm或647 nm的激光束激发然后用 Cy5或APC滤片观察&#xff0c;所以在绝大…

vs进行cuda编程失败,报错“the provided PTX was compiled with an unsupported toolchain.”

这表明提供的PTX是使用不受支持的工具链编译的。最常见的原因是PTX是由比CUDA驱动程序和PTX JIT编译器支持的编译器更新的编译器生成的。 解决&#xff1a;更新显卡驱动。 更新方法&#xff1a; 1.进入英伟达官网页面&#xff0c;网址https://www.nvidia.cn/Download/index.asp…

arduino笔记33:nRF24l01模块使用 FSK 波特率 通信方式 PTX PRX

最近再arduino中文社区看到了一篇介绍nrf24l01基本原理的帖子&#xff0c;内容感觉蛮不错的&#xff0c;学习一下&#xff0c;记录一下学习笔记。 大部分内容都是Arduino中文社区的帖子&#xff0c;附上自己的一点点体会。 目录 一、数据传输 FSK&#xff08;Frequency Shi…

Internal: Invoking ptxas not supported on WindowsRelying on driver to perform ptx compilation.

原环境&#xff1a;Windows 10, gpu 3090, TF 1.15&#xff0c;cuda_10.0.130_411.31_win10&#xff0c;cuDNN 7.6.5.32 mask-rcnn框架&#xff0c;运行train.py报错信息如下&#xff1a; image_id 333 image_id 32 image_id 58 2022-01-01 19:03:07.415032: I tensorflow/str…

Matlab里.cu函数转ptx文件常见错误

错误类型&#xff1a; nvcc fatal : Cannot find compiler ‘cl.exe’ in PATHwarning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 &#xff1b;fatal error C1083: 无法打开包括文件: “mat.h”: No such file or di…

vs cuda c/c++ 生成ptx配置

在编译cu文件生成ptx文件 一&#xff1a;生成依赖项目 二&#xff1a;配置.cu属性&#xff0c;项目类型改为CUDA C/C 三&#xff1a;配置CUDA C/C属性 compiler output&#xff1a;输出的文件名&#xff1b; additional include directories: 包含库&#xff1b; nvcc compi…

the provided ptx was compiled with an unsupported toolchain

本人遇到这个问题的原因是&#xff0c;一个动态库在一个cuda驱动比较新的服务器上编译的&#xff0c;然后使用这个动态库&#xff0c;在cuda较老的驱动上运行 编译机器cuda版本信息 运行机器cuda版本信息

VS查看PTX代码

首先&#xff0c;声明本人用的是Windows 7操作系统&#xff0c;使用Windows 8操作系统的小伙伴们会启动不了Nsight monitor&#xff0c;原因在于Windows 8操作系统的Framework版本过新&#xff0c;解决办法可以是&#xff1a;安装一个版本旧一点的Matlab&#xff0c;安装起初会…

Nvidia Tensor Core-MMA PTX编程入门

目录 1 PTX (Parallel Thread Execution) 2 MMA (Matrix Multiply Accumulate) PTX 3 LDMATRIX PTX 4 示例 5 底层代码 6 其他 6.1 HGEMM优化 1 PTX (Parallel Thread Execution) PTX是什么&#xff0c;Nvidia官方描述为a low-level parallel thread execution virtual…

PTX ISA 7.4 参考手册翻译

文章目录 PTX Parallel Thread Execution ISA 7.4SynataxSource FormatCommentsStatementsinstruction identifiersInteger ConstantFloat-Point ConstantConstant expression整型常量表达式求值 State Spaces, Types, and Variables状态空间Kernel Function ParametersKernel …

CUDA PTX ISA阅读笔记(一)

不知道这是个啥的看这里&#xff1a;Parallel Thread Execution ISA Version 5.0. 简要来说&#xff0c;PTX就是.cu代码编译出来的一种东西&#xff0c;然后再由PTX编译生成执行代码。如果不想看网页版&#xff0c;cuda的安装目录下的doc文件夹里有pdf版本&#xff0c;看起来也…

CUDA进阶第二篇:巧用PTX

写在前面 并行线程执行&#xff08;Parallel Thread eXecution&#xff0c;PTX&#xff09;代码是编译后的GPU代码的一种中间形式&#xff0c;它可以再次编译为原生的GPU微码。CUDA 手册传送门&#xff1a;Parallel Thread Execution ISA Version 4.3 利用PTX来进行试验&…