uniapp使用SQLite的常用语句

关于是否打开数据库

// 创建数据库 | 打开数据库
function openSqllite(dbName) {
	console.log('openSqllite',dbName)
	return new Promise((resolve, reject) => {
		plus.sqlite.openDatabase({
			name: dbName, // 数据库名称
			path: '_doc/' + dbName + '.db', // 数据库地址
			success(e) {
				console.log('openSqllite:success',e)
			},
			fail(e) {
				console.log('openSqllite:fail',e)
				reject(e)
			}
		})
	})
}

// 关闭数据库
function closeSqllite(dbName) {
	return new Promise((resolve, reject) => {
		plus.sqlite.closeDatabase({
			name: dbName,
			success(e) {
				console.log(e)
				resolve(e)
			},
			fail(e) {
				reject(console.log(e))
			}
		})
	})
}

// 监听数据库是否开启 return type : Boolean
function isOpen(dbName) {
	return plus.sqlite.isOpenDatabase({
		name: dbName,
		path: '_doc/' + dbName + '.db'
	})
}

建表

/**
 * 判断表(没有 则 创建)
 * @param {Object} dbName 数据库名称
 * @param {Object} tableName 表名
 */
function hasTable(dbName, tableName) {
	if (!sqlLite.isOpen(dbName)) {
		console.log('数据库未连接,连接数据库')
		sqlLite.openSqllite(dbName)
	}
	return new Promise((resolve, reject) => {
    //sqlite_master表是SQLite的系统表,建的表都在sqlite_master表里
		sqlLite.selectFromTable(dbName, "SELECT * FROM sqlite_master WHERE type='table' and name='" +
				tableName + "';")
			.then(e => {
				console.log(e);
				var sqlStr = ''
				sqlStr = 'create table if not exits dataTable("number" TEXT,"name" TEXT,"place" TEXT)'
				// 没有用户表 创建用户表
				if (e.length === 0) {
					sqlLite.executeSqlCode(dbName, sqlStr).then((e) => {
						console.log("创建表成功");
						resolve(true)
					}).catch((err) => {
						console.log("创建
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值