appcan本地数据库,uexDataBaseMgr插件
<!DOCTYPE html> <html class="um landscape min-width-240px min-width-320px min-width-480px min-width-768px min-width-1024px"> <head> <title></title> <meta charset="utf-8"> <meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"> <link rel="stylesheet" href="css/fonts/font-awesome.min.css"> <link rel="stylesheet" href="css/ui-box.css"> <link rel="stylesheet" href="css/ui-base.css"> <link rel="stylesheet" href="css/ui-color.css"> <link rel="stylesheet" href="css/appcan.icon.css"> <link rel="stylesheet" href="css/appcan.control.css"> <link rel="stylesheet" href="infor_content/css/main.css"> </head> <body class="um-vp bc-bg" ontouchstart> <div class="uinn"> <div class="ub ubb b-c2 uinn8"> <div class="t-9b ulev-1" style="min-width:5em;"> 名称 </div> <div class="ub-f1 ulev-1" contenteditable="true" id="name"> XX </div> </div> <div class="ub ubb b-c2 uinn8"> <div class="t-9b ulev-1" style="min-width:5em;"> ID码 </div> <div class="ub-f1 ulev-1" contenteditable="true" id="dartId"> XX </div> </div> <div class="ub ubb b-c2 uinn8"> <div class="t-9b ulev-1" style="min-width:5em;"> 单位 </div> <div class="ub-f1 ulev-1" contenteditable="true" id="time"> XX </div> </div> <div class="ub ubb b-c2 uinn8"> <div class="t-9b ulev-1" style="min-width:5em;"> 厂家 </div> <div class="ub-f1 ulev-1" contenteditable="true" id="type"> XX </div> </div> </div> <div style="top: 20%"> <div style="width:100%;bottom:4.5em;left:0;top: 2em;height: 15%;"> <div class="" style="float: left;width: 5%;text-align: center;height: 2.5em"></div> <div class=" ub ub-ac bc-text-head ub-pc bc-btn uc-a1" style="float: left;width: 40%;background-color: #ccc;text-align: center;height: 2.5em" id="scan"> 取消 </div> <div class="" style="float: left;width: 10%;text-align: center;height: 2.5em"></div> <div class=" ub ub-ac bc-text-head ub-pc bc-btn uc-a1" style="float: left;width: 40%;background-color: #00868B;text-align: center;height: 2.5em" id="submit"> 提交 </div> <div class="" style="float: left;width: 5%;text-align: center;height: 2.5em"></div> </div> </div> </br> <div style="top: 20%"> <div style="width:100%;bottom:4.5em;left:0;top: 2em;height: 15%;"> <div class="" style="float: left;width: 5%;text-align: center;height: 2.5em"></div> <div class=" ub ub-ac bc-text-head ub-pc bc-btn uc-a1" style="float: left;width: 40%;background-color: #ccc;text-align: center;height: 2.5em" id="scan12"> 取消 </div> <div class="" style="float: left;width: 10%;text-align: center;height: 2.5em"></div> <div class=" ub ub-ac bc-text-head ub-pc bc-btn uc-a1" style="float: left;width: 40%;background-color: #00868B;text-align: center;height: 2.5em" id="submit12"> 提交 </div> <div class="" style="float: left;width: 5%;text-align: center;height: 2.5em"></div> </div> </div> <div style="top: 20%"> <div style="width:100%;bottom:4.5em;left:0;top: 2em;height: 15%;"> <div class="" style="float: left;width: 5%;text-align: center;height: 2.5em"></div> <div class=" ub ub-ac bc-text-head ub-pc bc-btn uc-a1" style="float: left;width: 40%;background-color: #ccc;text-align: center;height: 2.5em" id="submit121"> 取消 </div> </div> </div> <script src="js/appcan.js"></script> <script src="js/appcan.control.js"></script> <script src="js/main.js"></script> </body> <script> appcan.ready(function() { appcan.initBounce(); }) appcan.button("#scan", "ani-act", function() { /* * 关闭数据库 */ uexDataBaseMgr.closeDataBase("sub", 1); uexDataBaseMgr.cbCloseDataBase = cbCloseDataBase; function cbCloseDataBase(opId, dataType, data) { if (data == 0) { alert("数据库关闭成功!"); setTimeout(function() { uescript('infor', 'backo()') }, 1000); } else { alert("数据库关闭失败!"); } } }) /* * 建表,打开数据库 */ appcan.button("#submit", "ani-act", function() { uexDataBaseMgr.openDataBase("sub", 1); uexDataBaseMgr.transaction("sub", 1, inFunc2); }); function inFunc2() { var sql = "CREATE TABLE subData (_id INTEGER PRIMARY KEY,name TEXT,rfidCode INTEGER,type TEXT)"; uexDataBaseMgr.executeSql("sub", 1, sql); uexDataBaseMgr.cbTransaction = cbTransaction1; } function cbTransaction1(opId, dataType, data) { if (data == 0) { alert("事务提交成功!"); } else { alert("事务提交失败!"); } } /* * 添加数据 */ appcan.button("#scan12", "ani-act", function() { var sql = "INSERT INTO subData (name,rfidCode,type) values ('123',21212,'sede');"; uexDataBaseMgr.executeSql("sub", 1, sql); uexDataBaseMgr.cbExecuteSql = cbExecuteSql; }); function cbExecuteSql(opId, dataType, data) { if (data == 0) { alert("执行成功!"); } else { alert("执行失败!"); } }; /* * 查询所有数据 */ appcan.button("#submit12", "ani-act", function() { var sql = "SELECT * FROM subData"; uexDataBaseMgr.selectSql("sub", 1, sql); uexDataBaseMgr.cbSelectSql = cbSelectSql; }); function cbSelectSql(opId, dataType, data) { var jsonList = eval("(" + data + ")"); alert(jsonList.length) if (jsonList.length == 0) { alert("无数据"); } for (var i = 0; i < jsonList.length; i++) { for (var key in jsonList[i]) { alert("key:" + key + ",value:" + jsonList[i][key]) } } }; /* * 查询单条数据 */ appcan.button("#submit121", "ani-act", function() { var sql = "SELECT * FROM subData WHERE _id = 1"; uexDataBaseMgr.selectSql("sub", 1, sql); uexDataBaseMgr.cbSelectSql = cbSelectSql2; }); function cbSelectSql2(opId, dataType, data) { var jsonList = eval("(" + data + ")"); alert(jsonList.length) if (jsonList.length == 0) { alert("无数据"); } for (var i = 0; i < jsonList.length; i++) { for (var key in jsonList[i]) { alert("key:" + key + ",value:" + jsonList[i][key]) } } }; </script> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2016-03-08 继承,转型
2016-03-08 作业