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,如需转载请自行联系原作者
相关文章
|
29天前
|
API 数据库 C语言
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
180 0
|
29天前
|
存储 监控 安全
内网屏幕监控软件的数据存储与管理:使用SQLite数据库保存监控记录和配置信息
在当今数字化时代,安全和监控在企业和组织中变得至关重要。内网屏幕监控软件作为一种关键工具,帮助组织监视员工的活动并确保信息安全。这种软件不仅需要高效地记录和管理监控数据,还需要能够方便地进行配置和调整。本文将讨论如何使用SQLite数据库来保存监控记录和配置信息,并介绍如何通过自动化机制将监控到的数据提交到指定网站。
193 2
|
8天前
|
SQL 关系型数据库 数据库
17. Python 数据库操作之MySQL和SQLite实例
17. Python 数据库操作之MySQL和SQLite实例
41 2
|
9天前
|
SQL 存储 数据库
48. 【Android教程】数据库:SQLite 的使用
48. 【Android教程】数据库:SQLite 的使用
9 1
|
18天前
|
JavaScript 小程序 Shell
在JSTL 中使用小型数据库 SQLite
`code袁`是一位热爱分享和记录学习的大学生,主攻编程领域。他的个人主页在[CSDN](https://blog.csdn.net/qq_48164590),QQ号为2647996100,WeChat号为code8896。他分享了三个专栏:毕业设计与课程设计、微信小程序开发和Vue全程学习。文章介绍了SQLite数据库命令行工具的下载、使用方法,包括创建数据库、定义表结构、插入数据及退出命令。此外,还展示了如何将ER图转化为数据库。最后鼓励读者点赞和支持。
21 2
|
19天前
|
存储 关系型数据库 数据库
利用Python与SQLite构建轻量级数据库应用
在当今日益增长的数据处理需求下,数据库成为存储、检索和管理数据的关键技术。然而,对于小型项目或快速原型开发,大型数据库系统可能显得过于庞大和复杂。本文将介绍如何利用Python编程语言与SQLite轻量级数据库,快速搭建一个功能齐全、易于维护的数据库应用。我们将探讨SQLite数据库的特点、Python对SQLite的支持,并通过一个实际案例展示如何构建一个简单的数据库应用,为读者提供一种高效、灵活的解决方案。
|
28天前
|
SQL 开发框架 数据库连接
uniapp中sqlite数据库常用操作的简单封装
uniapp中sqlite数据库常用操作的简单封装
|
29天前
|
数据库 数据库管理 关系型数据库
|
29天前
|
SQL 存储 Ubuntu
在ubuntu中将dict.txt导入到数据库sqlite3
这样,你就成功将 `dict.txt` 中的数据导入到名为 `mydatabase.db` 的SQLite3数据库中的 `words` 表格中了。请根据实际情况调整表格结构和数据导入命令。
21 0
|
29天前
|
SQL 数据库 数据库管理
Python数据库操作(SQLAlchemy、SQLite等)面试题集
【4月更文挑战第15天】本文介绍了Python数据库操作的面试重点,涵盖SQLAlchemy ORM和SQLite。内容包括:1) 使用SQLAlchemy定义SQLite表的Python类及执行CRUD操作,强调ORM使用和会话管理;2) 查询优化与性能,涉及JOIN、分组、聚合查询,并提醒注意懒加载和索引创建;3) 异常处理和事务管理,展示如何捕获异常并进行事务控制。通过理解这些知识点并避免常见错误,可在面试中表现出色。
37 0