zoukankan      html  css  js  c++  java
  • 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);
    						}
    					});
    				}
    			});
    		}
    	});
    }
    
  • 相关阅读:
    Deep Reinforcement Learning with Population-Coded Spiking Neural Network for Continuous Control
    A Survey of Robotics Control Based on Learning-Inspired Spiking Neural Networks
    The neurobiology of deep reinforcement learning
    【Matplotlib】线设置,坐标显示范围
    MarkdownPad2 下一些设置
    MarkdownPad2 在 Windows10 下 预览无法显示
    【Scipy】初步认识
    【Matplotlib】详解图像各个部分
    【Matplotlib】概要总览第一讲
    【Python】重载模块
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/6808269.html
Copyright © 2011-2022 走看看