apicloud中的sqlite操作模块db

简介:

db 模块封装了手机常用数据库 sqlite 的增删改查语句,可实现数据的本地存储,极大的简化了数据持久化问题。

1.执行

var db = api.require('db');
db.executeSql({
    name: 'db_name',
    sql: 'CREATE TABLE Persons(Id_P int, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255))'
}, function(ret, err) {
    if (ret.status) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

执行案例

function dbExecuteSql(sqlite_sql, callback) {
    sqlite_db = api.require('db');
    sqlite_db.executeSql({
        name : BASE_FS_SQDB_NAME,
        sql : sqlite_sql
    }, function(ret, err) {
        if (ret.status) {
            callback(true);
        } else {
            api.toast({
                msg : '对不起,获取会话信息失败,为您恢复数据,请稍后'
            });
            openDb(function(is_true) {
                if (is_true) {
                    callback(true);
                } else {
                    callback(false);
                }
            });
        }
    });
}

2.查询

var db = api.require('db');
db.selectSql({
    name: 'db_name',
    sql: 'SELECT * FROM Persons'
}, function(ret, err) {
    if (ret.status) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

查询案例

function dbSelectSql(sqlite_sql, callback) {
    sqlite_db = api.require('db');
    dbOpenDb(function(is_true) {
        if (is_true) {
            sqlite_db.selectSql({
                name : BASE_FS_SQDB_NAME,
                sql : sqlite_sql
            }, function(ret, err) {
                if (ret.status) {
                    // alert(JSON.stringify(ret.data));
                    callback(ret.data);
                } else {
                    api.toast({
                        msg : '数据查询失败:' + err.msg
                    });
                    openDb(function(is_true) {
                        if (is_true) {
                            callback(true);
                        } else {
                            callback(false);
                        }
                    });
                }
            });
        } else {
            callback(false);
        }
    });
}

3.打开数据库,如不存在则创建

var db = api.require('db');
db.openDatabase({
    name: 'db_name'
}, function(ret, err) {
    if (ret.status) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

创建案例

function dbOpenDb(callback) {
    isExisDb(function(is_true) {
        if (is_true) {
            sqlite_db = api.require('db');
            //alert(dbname);
            sqlite_db.openDatabase({
                name : BASE_FS_SQDB_NAME,
                path : BASE_FS_SQDB_PATH + BASE_FS_SQDB_NAME + ".db"
            }, function(ret, err) {
                if (ret.status) {
                    callback(true);
                } else {
                    api.toast({
                        msg : '对不起,获取会话信息失败,为您恢复数据,请稍后'
                    });
                    openDb(function(is_true) {
                        if (is_true) {
                            callback(true);
                        } else {
                            callback(false);
                        }
                    });
                }
            });
        }
    });
}

本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/6808269.html,如需转载请自行联系原作者
相关文章
|
16天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
110 15
|
1月前
|
存储 SQL 数据库
数据库知识:了解SQLite或其他移动端数据库的使用
【10月更文挑战第22天】本文介绍了SQLite在移动应用开发中的应用,包括其优势、如何在Android中集成SQLite、基本的数据库操作(增删改查)、并发访问和事务处理等。通过示例代码,帮助开发者更好地理解和使用SQLite。此外,还提到了其他移动端数据库的选择。
45 8
|
2月前
|
Web App开发 SQL 数据库
使用 Python 解析火狐浏览器的 SQLite3 数据库
本文介绍如何使用 Python 解析火狐浏览器的 SQLite3 数据库,包括书签、历史记录和下载记录等。通过安装 Python 和 SQLite3,定位火狐数据库文件路径,编写 Python 脚本连接数据库并执行 SQL 查询,最终输出最近访问的网站历史记录。
44 4
|
2月前
|
存储 关系型数据库 数据库
轻量级数据库的利器:Python 及其内置 SQLite 简介
轻量级数据库的利器:Python 及其内置 SQLite 简介
70 3
|
2月前
|
应用服务中间件 PHP Apache
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
|
3月前
|
存储 API 数据库
QML使用Sqlite数据库存储ListModel数据
本文介绍了在QML中使用Sqlite数据库存储ListModel数据的方法,包括如何创建数据库、读取数据、动态添加和删除数据,以及如何在程序启动和退出时与数据库同步数据。
100 2
|
3月前
|
数据库 数据库管理
qt对sqlite数据库多线程的操作
本文总结了在Qt中进行SQLite数据库多线程操作时应注意的四个关键问题,包括数据库驱动加载、加锁、数据库的打开与关闭,以及QsqlQuery变量的使用。
227 1
|
2月前
|
存储 缓存 关系型数据库
sqlite 数据库 介绍
sqlite 数据库 介绍
53 0
|
4月前
|
人工智能 小程序 Java
【工具】轻松解锁SQLite数据库,一窥微信聊天记录小秘密
本文介绍了一款名为PyWxDump的开源工具,它可以获取微信账户信息、解密SQLite数据库以查看和备份聊天记录。此工具适用于已登录电脑版微信的用户,通过GitHub下载后简单几步即可操作。适合对数据恢复感兴趣的开发者,但请注意合法合规使用并尊重隐私。
630 2
【工具】轻松解锁SQLite数据库,一窥微信聊天记录小秘密
|
3月前
|
SQL 数据库连接 数据库
30天拿下Python之sqlite3模块
30天拿下Python之sqlite3模块
22 0