1. 前情
最近给领导做了个财务的月看板, 领导提出了个需求, 每个月的数据构成都不同, 他需要在页面上详细描述内容, 需要可以一个留言的功能.
2. 措施
使用文本框的编辑后事件, 利用js调用SQL函数, insert文本框的内容
3. 提要
使用的数据库: MYSQL8.0.24
SQL函数需要SQL语句执行的返回结果集, 所以必须使用存储过程, 在insert后返回一条结果!
4. 实施
- 在数据库中创建存储过程:
-
CREATE DEFINER=`root`@`%` PROCEDURE `ann1`(IN t VARCHAR(50))
BEGIN
INSERT INTO common (annotation1) VALUES (t);
SELECT 1;
END
- 在文本框控件的编辑事件js中, 添加如下代码:
-
// 获取文本框控件编辑后的值
var value = this.getValue();
// 拼接sql, value需要拿引号引起来, 避免字符串格式无法存储
var sql = "call ann1('" + value + "')";
// 使用SQL函数
var result = FR.remoteEvaluate('SQL("ITSM测试可写","' + sql + '",1,1)');
- 在文本框默认值中, 读取数据库值
|