# APICloud db组件

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

# 异步接口

# openDatabase

打开数据库,若数据库不存在则创建数据库。

数据库打开后即使当前页面关闭了,数据库也不会关闭,除非手动调用 closeDatabase()方法关闭,所以一旦打开在其它页面就可以直接使用。

若数据库放在 widget 目录下,那么需要先把数据库拷贝到 fs:// 对应目录下面再使用

openDatabase({params}, callback(ret, err))

## params

name:

* 类型:字符串

* 描述:数据库名称

path:

* 类型:字符串

* 描述:(可选项)数据库所在路径,不传时使用默认创建的路径。支持 fs://、widget://等协议(如fs://user.db)

* 默认值:自动创建的路径

## callback(ret, err)

ret:

* 类型:JSON 对象

* 内部字段:

~~~

{

status: true //布尔类型;操作成功状态值,true|false

}

~~~

err:

* 类型:JSON 对象

* 内部字段:

~~~

{

code: '', //数字类型;错误码,详情参考-----附录之‘错误码对照表’。本参数暂仅支持iOS平台

msg: '' //字符串类型;错误信息

}

~~~

## 示例代码

~~~

var db = api.require('db');

db.openDatabase({

name: 'test'

}, function(ret, err) {

if (ret.status) {

alert(JSON.stringify(ret));

} else {

alert(JSON.stringify(err));

}

});

~~~

## 可用性

iOS系统,Android系统,PC 模拟器

可提供的1.0.0及更高版本

# closeDatabase

关闭数据库

closeDatabase({params}, callback(ret, err))

## params

name:

* 类型:字符串

* 描述:数据库名称

## callback(ret, err)

ret:

* 类型:JSON 对象

* 内部字段:

~~~

{

status: true //布尔类型;操作成功状态值,true|false

}

~~~

err:

* 类型:JSON 对象

* 内部字段:

~~~

{

code: '', //数字类型;错误码,详情参考-----附录之‘错误码对照表’。本参数暂仅支持iOS平台

msg: '' //字符串类型;错误描述

}

~~~

## 示例代码

~~~

var db = api.require('db');

db.closeDatabase({

name: 'test'

}, function(ret, err) {

if (ret.status) {

alert(JSON.stringify(ret));

} else {

alert(JSON.stringify(err));

}

});

~~~

## 可用性

iOS系统,Android系统,PC 模拟器

可提供的1.0.0及更高版本

# transaction

执行事务操作语句

transaction({params}, callback(ret, err))

## params

name:

* 类型:字符串

* 描述:数据库名称

operation:

* 类型:字符串

* 描述:事务操作类型,取值范围如下:

* begin //开始事务

* commit //提交事务

* rollback //回滚操作

## callback(ret, err)

ret:

* 类型:JSON 对象

* 内部字段:

~~~

{

status: true //布尔类型;操作成功状态值,true|false

}

~~~

err:

* 类型:JSON 对象

* 内部字段:

~~~

{

code: '', //数字类型;错误码,详情参考-----附录之‘错误码对照表’。本参数暂仅支持iOS平台

msg: '' //字符串类型;错误描述

}

~~~

## 示例代码

~~~

var db = api.require('db');

db.transaction({

name: 'test',

operation: 'begin'

}, function(ret, err) {

if (ret.status) {

alert(JSON.stringify(ret));

} else {

alert(JSON.stringify(err));

}

});

~~~

## 可用性

iOS系统,Android系统,PC 模拟器

可提供的1.0.0及更高版本

# executeSql

执行 sql

executeSql({params}, callback(ret, err))

## params

name:

* 类型:字符串

* 描述:数据库名称

sql:

* 类型:字符串

* 描述:sql 语句

## callback(ret, err)

ret:

* 类型:JSON 对象

* 内部字段:

~~~

{

status: true //布尔类型;操作成功状态值,true|false

}

~~~

err:

* 类型:JSON 对象

* 内部字段:

~~~

{

code: '', //数字类型;错误码,详情参考-----附录之‘错误码对照表’。本参数暂仅支持iOS平台

msg: '' //字符串类型;错误描述

}

~~~

## 示例代码

~~~

var db = api.require('db');

db.executeSql({

name: 'test',

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));

}

});

~~~

## 可用性

iOS系统,Android系统,PC模拟器

可提供的1.0.0及更高版本

# selectSql

查询sql

selectSql({params}, callback(ret, err))

## params

name:

* 类型:字符串

* 描述:数据库名称

sql:

* 类型:字符串

* 描述:sql语句

## callback(ret, err)

ret:

* 类型:JSON 对象

* 内部字段:

~~~

{

status: true, //布尔类型;操作成功状态值,true|false

data: [] //数组类型;查询结果数据

}

~~~

err:

* 类型:JSON 对象

* 内部字段:

~~~

{

code: '', //数字类型;错误码,详情参考-----附录之‘错误码对照表’。本参数暂仅支持iOS平台

msg: '' //字符串类型;错误描述

}

~~~

## 示例代码

~~~

var db = api.require('db');

db.selectSql({

name: 'test',

sql: 'SELECT * FROM Persons'

}, function(ret, err) {

if (ret.status) {

alert(JSON.stringify(ret));

} else {

alert(JSON.stringify(err));

}

});

~~~

## 可用性

iOS系统,Android系统,PC 模拟器

可提供的1.0.0及更高版本

# 同步接口

# openDatabaseSync

打开数据库,若数据库不存在则创建数据库(同步接口)。

数据库打开后即使当前页面关闭了,数据库也不会关闭,除非手动调用 closeDatabase()方法关闭,所以一旦打开在其它页面就可以直接使用。

若数据库放在 widget 目录下,那么需要先把数据库拷贝到 fs:// 对应目录下面再使用

openDatabaseSync({params})

## params

name:

* 类型:字符串

* 描述:数据库名称

path:

* 类型:字符串

* 描述:(可选项)数据库所在路径,不传时使用默认创建的路径。支持 fs://、widget://等协议(如fs://user.db)

* 默认值:自动创建的路径

## return

ret:

* 类型:JSON 对象

* 内部字段:

~~~

{

status: true, //布尔类型;操作成功状态值,true|false

code: '', //数字类型;错误码,详情参考-----附录之‘错误码对照表’。,仅当 status 为 false 时有值。本参数暂仅支持iOS平台

msg: '' //字符串类型;错误描述,仅当 status 为 false 时有值

}

~~~

## 示例代码

~~~

var db = api.require('db');

var ret = db.openDatabaseSync({

name: 'test'

});

alert(JSON.stringify(ret));

~~~

## 可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

# closeDatabaseSync

关闭数据库(同步接口)

closeDatabaseSync({params})

## params

name:

* 类型:字符串

* 描述:数据库名称

## return

ret:

* 类型:JSON 对象

* 内部字段:

~~~

{

status: true, //布尔类型;操作成功状态值,true|false

code: '', //数字类型;错误码,详情参考-----附录之‘错误码对照表’。,仅当 status 为 false 时有值。本参数暂仅支持iOS平台

msg: '' //字符串类型;错误描述,仅当 status 为 false 时有值

}

~~~

## 示例代码

~~~

var db = api.require('db');

var ret = db.closeDatabaseSync({

name: 'test'

});

alert(JSON.stringify(ret));

~~~

## 可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

# transactionSync

执行事务操作语句(同步接口)

transactionSync({params})

## params

name:

* 类型:字符串

* 描述:数据库名称

operation:

* 类型:字符串

* 描述:事务操作类型,取值范围如下:

* begin //开始事务

* commit //提交事务

* rollback //回滚操作

## return

ret:

* 类型:JSON 对象

* 内部字段:

~~~

{

status: true, //布尔类型;操作成功状态值,true|false

code: '', //数字类型;错误码,详情参考-----附录之‘错误码对照表’。,仅当 status 为 false 时有值。本参数暂仅支持iOS平台

msg: '' //字符串类型;错误描述,仅当 status 为 false 时有值

}

~~~

## 示例代码

~~~

var db = api.require('db');

var ret = db.transactionSync({

name: 'test',

operation: 'begin'

});

alert(JSON.stringify(ret));

~~~

## 可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

# executeSqlSync

执行 sql(同步接口)

executeSqlSync({params})

## params

name:

* 类型:字符串

* 描述:数据库名称

sql:

* 类型:字符串

* 描述:sql 语句

## return

ret:

* 类型:JSON 对象

* 内部字段:

~~~

{

status: true, //布尔类型;操作成功状态值,true|false

code: '', //数字类型;错误码,详情参考-----附录之‘错误码对照表’。,仅当 status 为 false 时有值。本参数暂仅支持iOS平台

msg: '' //字符串类型;错误描述,仅当 status 为 false 时有值

}

~~~

## 示例代码

~~~

var db = api.require('db');

var ret = db.executeSqlSync({

name: 'test',

sql: 'CREATE TABLE Persons(Id_P int, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255))'

});

alert(JSON.stringify(ret));

~~~

## 可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

# selectSqlSync

查询 sql(同步接口)

selectSqlSync({params})

## params

name:

* 类型:字符串

* 描述:数据库名称

sql:

* 类型:字符串

* 描述:sql语句

## return

ret:

* 类型:JSON 对象

* 内部字段:

~~~

{

status: true, //布尔类型;操作成功状态值,true|false

data: [], //数组类型;查询结果数据

code: '', //数字类型;错误码,详情参考-----附录之‘错误码对照表’。,仅当 status 为 false 时有值。本参数暂仅支持iOS平台

msg: '' //字符串类型;错误描述,仅当 status 为 false 时有值

}

~~~

## 示例代码

~~~

var db = api.require('db');

var ret = db.selectSqlSync({

name: 'test',

sql: 'SELECT * FROM Persons'

});

alert(JSON.stringify(ret));

~~~

## 可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

# 附录

# 错误码对照表

* 0:SQLITE_OK /* Successful result */

* 1:SQLITE_ERROR /* SQL error or missing database */

* 2:SQLITE_INTERNAL /* Internal logic error in SQLite */

* 3:SQLITE_PERM /* Access permission denied */

* 4:SQLITE_ABORT /* Callback routine requested an abort */

* 5:SQLITE_BUSY /* The database file is locked */

* 6:SQLITE_LOCKED /* A table in the database is locked */

* 7:SQLITE_NOMEM /* A malloc() failed */

* 8:SQLITE_READONLY /* Attempt to write a readonly database */

* 9:SQLITE_INTERRUPT /* Operation terminated by sqlite3_interrupt()*/

* 10:SQLITE_IOERR /* Some kind of disk I/O error occurred */

* 11:SQLITE_CORRUPT /* The database disk image is malformed */

* 12:SQLITE_NOTFOUND /* Unknown opcode in sqlite3_file_control() */

* 13:SQLITE_FULL /* Insertion failed because database is full */

* 14:SQLITE_CANTOPEN /* Unable to open the database file */

* 15:SQLITE_PROTOCOL /* Database lock protocol error */

* 16:SQLITE_EMPTY /* Database is empty */

* 17:SQLITE_SCHEMA /* The database schema changed */

* 18:SQLITE_TOOBIG /* String or BLOB exceeds size limit */

* 19:SQLITE_CONSTRAINT /* Abort due to constraint violation */

* 20:SQLITE_MISMATCH /* Data type mismatch */

* 21:SQLITE_MISUSE /* Library used incorrectly */

* 22:SQLITE_NOLFS /* Uses OS features not supported on host */

* 23:SQLITE_AUTH /* Authorization denied */

* 24:SQLITE_FORMAT /* Auxiliary database format error */

* 25:SQLITE_RANGE /* 2nd parameter to sqlite3_bind out of range */

* 26:SQLITE_NOTADB /* File opened that is not a database file */

* 27:SQLITE_NOTICE /* Notifications from sqlite3_log() */

* 28:SQLITE_WARNING /* Warnings from sqlite3_log() */

* 100:SQLITE_ROW /* sqlite3_step() has another row ready */

* 101:SQLITE_DONE /* sqlite3_step() has finished executing */

apicloud访问mysql_APICloud db组件相关推荐

  1. CPU访问计算机各组件周期

    计算机的核心是cpu,但是光有cpu还不行,它还需从其它组建获取数据.所以cpu读取数据的时间就会影响到系统的性能.在现代计算机中,分级存储大幅提升了这个性能. 数据和分析 来自stackoverfl ...

  2. [vue] 在子组件中怎么访问到父组件的实例?

    [vue] 在子组件中怎么访问到父组件的实例? 通过this.$parent 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目录 与歌谣一起通关前 ...

  3. [vue] 怎么访问到子组件的实例或者子元素?

    [vue] 怎么访问到子组件的实例或者子元素? this.$refs 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

  4. mysql多库组件_TDSQL(MySQL版)之DB组件升级

    随着数据库产品的更新迭代,修复 bug 等等,产品避免不了会出现升级的需求. TDSQL ( MysqL 版)也会有这方面的需求.接下来我就说说如何对现有 TDSQL ( MySQL 版)集群组件进行 ...

  5. c语言windows库函数,C语言访问Windows COM组件函数

    COM(Component Object Model)是Windows里常用的组件对象模型,在Windows上是可以上升到操作系统级别,甚至到网络分布式级别的面象对象技术,也就是按照微软定义的标准实现 ...

  6. Delphi10.4使用FireDAC数据访问组件开发数据库软件学习开发教程(1)

    数据库访问是Delphi / C ++ Builder的专长.最新版本的Delphi / C ++ Builder支持使用称为FireDAC的通用数据库访问组件访问各种数据源.因此,在此博客中,我将向 ...

  7. idata 数据访问组件库 (2021版)

    idata数据访问组件库(RX11)版本:  2022-09-20 下载: idata 数据组件库 for RAD Studio RX10.3.x (260) 发布于:2020-02-20    使用 ...

  8. angularjs1访问子组件_vue 组件通信看这篇就够了(12种通信方式)

    vue 组件间的通信是 vue 开发中很基础也十分重要的部分,作为使用 vue 的开发者每天都在使用.同时,vue 通信也是面试中非常高频的问题,有很多面试题,都是围绕通信展开. 本文会介绍常见的通信 ...

  9. ASP页面中访问基于.net的COM组件[转]

    在我的编程实践中,需要从.NET的Web Form页面传递加密的字符串信息(如用户名和密码等)到ASP页面,然后在该页面对该加密字符串进行解密.如果传递的不是加密串,通过GET或POST的方式就可以直 ...

最新文章

  1. 78行Python代码帮你复现微信撤回消息!
  2. CakePHP 2.x CookBook 中文版 第五章 控制器 之 组件
  3. 将登录等信息保存到session中和退出session
  4. 冲击波病毒攻击-《截获网站服务器数据》
  5. docker artifactory-jcr
  6. windows 根据父进程pid查找所有子进程id(C++)
  7. 蓝桥杯 BASIC-4 基础练习 数列特征
  8. 在线GIF图片帧拆分工具
  9. 死锁示例代码_Java示例中的死锁
  10. Python-模块导入-63
  11. 基于WebSocket的web聊天室
  12. 3dmax渲染计算机内存不足怎么办,3DMax渲染 提示内存不足怎么办
  13. 设置及清除Excel打开密码的两种方法
  14. 听说MACD是技术指标之王?我们用Python来验验成色
  15. 截止失真放大电路_常用音响技术:音频功放失真及改善方法
  16. EditPlus怎么首行和末尾统一添加文本内容
  17. jQuery获取兄弟元素
  18. 公司内网限制qq微信登陆--解决办法
  19. 硬盘数据丢失怎么恢复?分享固态硬盘恢复数据的4个方法
  20. 宽带升级后,手机能连WiFi,电脑却连不上的解决办法 TC7102WiFi

热门文章

  1. 微信小程序直播有哪些推广技巧?
  2. Android多语言支持二
  3. 怎么关闭计算机右侧的硬盘预览,选择性关闭视频文件预览 给Win7硬盘CPU减压
  4. 试题 基础练习 Fibonacci数列
  5. iOS App版本更新并上架App Store
  6. unity android 触屏,Unity 移动端触摸屏操作
  7. BUUCTF--[Zer0pts2020]easy strcmp
  8. basename函数漏洞之[Zer0pts2020]Can you guess it?
  9. 最近遇到使用Zing.DLL生成条码,但是打印出来不清晰的问题,解决代码记录一下,
  10. 前字节程序员感叹“字节范”就是工作上不设边界,待遇上延迟满足。