HTML5 webSQL
<!DOCTYPE HTML> <html> <head> <script type="text/javascript"> var msg; // 可以有多个数据库,但无法遍历, // 包括空字符串在内的所有字符串都可以作为有效地数据库名称,数据库名称区分大小写,且可以比较。 // 一个数据库只能有一个版本号 // 一个显示名字(displayName), // 数据库将要保存数据的大小(estimatedSize,以字节为单位 ) // 一个可选的回调函数(createionCallback,如果数据库没有被创建,这个函数将会被调用 ) var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024); // 方法 transaction() 和 readTransaction() 有一个到三个参数, // 后两个参数为可选的,分别表示错误回调函数和成功回调函数。 // transaction() 方法为 read/write 模式,readTransaction() 方法为只读模式; db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS ques (id unique, log)'); tx.executeSql('INSERT INTO ques (id, log) VALUES (4, "foobar")'); tx.executeSql('INSERT INTO ques (id, log) VALUES (3, "logmsg")'); msg = '<p>Log message created and row inserted.</p>'; document.querySelector('#status').innerHTML = msg; },function(){alert('e');},function(){alert('s');}); // executeSql这个函数具有四个参数: // 表示查询的字符串(sqlStatement); // 插入到查询语句中问号所在处的字符串数据(arguments); // 一个可选的成功时执行函数(callback); // 一个可选的失败时执行函数(errorCallback)。 // 查询结果是一个对象 // 插入数据库,insertId 代表这个行号;如果插入多行数据,insertId 代表插入数据的最后一行行号。 // 改变的行数用 rowsAffected 表示,没有改变 rowsAffected 为 0,“SELECT”语句,rowsAffected 就为 0. // rows 为一个 SQLResultSetRowList 对象,代表数据库按顺序返回的行。如果没有返回任何行,则这个对象为空。 db.transaction(function (tx) { tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) { var len = results.rows.length, i; msg = "<p>Found rows: " + len + "</p>"; document.querySelector('#status').innerHTML += msg; for (i = 0; i < len; i++){ msg = "<p><b>" + results.rows.item(i).log + "</b></p>"; document.querySelector('#status').innerHTML += msg; } }, null); }); </script> </head> <body> <div id="status" name="status">Status Message</div> </body> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现