uniapp操作sqlite
官方参考文档:uniapp sqlite
注意:
- 在开发uniapp 应用时,要在manifest.json中勾选sqlite选项;
- sqlite可以用于离线应用保存数据,但是预置数据库比较麻烦,可以先放在应用目录下,在应用运行时,拷贝到应用私有文档目录,参考:https://www.html5plus.org/doc/zh_cn/io.html
下面是应用sqlite,创建表并插入数据,如果有数据则不插入,这里碰到一个坑用insert or ignore into
插入数据时,必须先设置主键,如果没有主键则直接插入数据不会提前判断。
// 创建表并插入数据
createLocationTable: function() {
plus.sqlite.executeSql({
name: 'swyt',
sql: 'create table if not exists location("id" CHAR(50) PRIMARY KEY NOT NULL,"name" CHAR(100) NOT NULL,"hd_count" INT(11))',
success: function(e) {
plus.sqlite.executeSql({
name: 'swyt',
sql: ["INSERT OR IGNORE INTO location(id,name,hd_count) values('ecde20cff5bc46f990a0ca7776c76371','地点一','71')",INSERT OR IGNORE INTO location(id,name,hd_count) values('347bdb23ae7f4f2f8697fc1a30b3dd55','地点二','51')"],
success: function(e) {
plus.nativeUI.alert('创建表location和插入数据成功'+JSON.stringify(e));
},
fail: function(e) {
plus.nativeUI.alert('创建表location成功但插入数据失败: ' + JSON.stringify(
e));
}
});
},
fail: function(e) {
plus.nativeUI.alert('创建表location失败: ' + JSON.stringify(e));
}
});
}