uni-app sqlite项目流程

前言:2021.06.14开始知道自己需要用uni-app 开发一个安卓app。并且支持离线(无网络)使用!!大致了解产品需求和应用场景以后开始正式开发!!! 

  1. 使用HBuilder X创建uni-app模板 创建好以后 在manifest.json中的App模块配置 开启SQLite(数据库)后就可以开始运用的项目中了

  2. 了解 plus.sqlite 的基本语法                                                                                                                           http://www.html5plus.org/doc/zh_cn/sqlite.html 在这里认认真真的看完它!!!!!!!
  3. 开始在项目中运用啦 根据项目需求 我是需要在登陆前初始化项目就是说我需要创建本地表单把后台的数据都存起来 
    //创建表单运用到的sql
    //创建sql.js 编写创建表单的sql
    var formtable=`CREATE TABLE if not exists t_collection_form(
      "id" TEXT,
      "gmt_create" TEXT,
      "gmt_modified" TEXT,
      "creator_id" INTEGER DEFAULT '-1',
      "updater_id" INTEGER DEFAULT '-1',
      "logic_delete" INTEGER DEFAULT 0,
      "remark" TEXT DEFAULT '-1',
      "exp" TEXT DEFAULT '-1',
      "model_id" TEXT DEFAULT '-1',
      "cn_name" INTEGER DEFAULT '-1',
      "en_name" INTEGER DEFAULT '-1',
      "status" INTEGER DEFAULT 0,
      "desc" TEXT DEFAULT '-1'
    );`;
    //在初始化的js中 引用
    var sql = require('./sql.js');
    //创建表单运用到的放法
    function createdTable(sql, name) {
    	executeSQL('public', sql, res => {
    		console.log(name + '创建成功')
    	}, error => {
    	
    		console.log(JSON.stringify(error) + '创建失败')
    	})
    }; 
    //调用 这就创建了一个表单
    createdTable(sql.formtable, 'formtable');
    
    //因为每次初始化都要删除之前的表单所以先删除在创建
    //删除表单
    function deleteTable(name) {
    	var sql = `delete from ` + name;
    	executeSQL('public', sql, res => {
    		console.log(name + '删除成功');
    	}, error => {
    		console.log(name + '删除失败');
    	})
    }
    //删除表单
    deleteTable("formtable");
    
  4. 现在开始插入数据给表单 流程大概就是:创建表单->调取后台接口->插入表单
    //调取数据
    post('url',data).then(res=>{
    	let data = res.data;
    	 data.forEach(item=>{
    		addSql(item).then(res=>{
    		},error=>{
    		console.log(error)
    		})
    	})
    })
    //插入数据
    function addsql(obj) {
    	//判断有没有传参
    	if (obj !== undefined) {
    		//判断传的参是否有值
    		// console.log(obj)
    		var b = (JSON.stringify(obj) == "{}");
    		if (!b) {
    			//obj传来的参数对象
    			var id = obj.id || null; //c
    			var code = obj.code || null; //c
    			var name = obj.name || null; //
    			return new Promise((resolve, reject) => {
    				// var sql = 'insert into t_collection_field(cn_name,en_name,pk) values("'+name+'","'+en_name+'","'+pk+'")';
    				plus.sqlite.executeSql({
    					name: 'public',
    					sql: 'insert into fromtable(id,code,name) values("' + id + '","' + code + '","' + name + '")',
    					success(e) {
    						resolve(e);
    						// console.log(e)
    					},
    					fail(e) {
    						reject(e);
    					}
    				})
    			})
    		} else {
    			return new Promise((resolve, reject) => {
    				reject("错误添加")
    			})
    		}
    	} else {
    		return new Promise((resolve, reject) => {
    			reject("错误添加")
    		})
    	}
    }

  5. 好了现在可以秀你的sql能力进行增删改查了!!!!!!

 记录而已 随缘解答 !!! 

         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值