Giter VIP home page Giter VIP logo

react-native-sqlite-helper's Introduction

react-native-sqlite-helper

This repository is based on andpor/react-native-sqlite-storage, you should install and link react-native-sqlite-storage first.

这个库是基于 andpor/react-native-sqlite-storage ,请先 install 和 link react-native-sqlite-storage。

Features:

(1) use Promise | 使用Promise

(2) be based on react-native-sqlite-storage (readme) | 基于 react-native-sqlite-storage

(3) parameterized SQL | 参数化的SQL

(4) prefer generator function & return {res,err} | 统一返回的数据结构 {res,err}

api | 接口方法

1.instantiation | 实例化

import SQLiteHelper from 'react-native-sqlite-helper';

const sqLiteHelper = new SQLiteHelper(

databaseName:string,

databaseVersion:string,

databaseDisplayName:string,

databaseSize:number);

2.open database | 连接 database

sqLiteHelper.open();

3.close database | 关闭 database

sqLiteHelper.close();

4.delete database(static) | 删除 database(静态方法)

SQLiteHelper.delete(database:string);

5.creteTable | 创建表

sqLiteHelper.createTable(tableInfo:object);

6.dropTable | 删除表

sqLiteHelper.dropTable(tableName:string);

7.insertItems | 插入数据(支持多条)

sqLiteHelper.insertItems(tableName:string,items:Array<object>);

8.deleteItem | 删除数据

sqLiteHelper.deleteItem(tableName:string,condition:object);

9.updateItem | 更新数据

sqLiteHelper.updateItem(tableName:string,item:object,condition:object);

10.selectItems | 查询数据

sqLiteHelper.selectItems(

tableName:string,

columns:Array<string>|*,

condition:object|null,

pagination?:number,

perPageNum?:number);

11.Promise resolve data | Promise返回值格式

const {res,err} = resolve_data;

res:any|'undefined' (success data,if error return 'undefined') err:Error|'undefined' (error data, if success return 'undefined')

example | 例子

 // use async/await

 // The { res, err } in result can only have one value at a time, the other is undefined

 async _handleSQLite() {
        const sqLiteHelper = new SQLiteHelper('test.db', '1.0', 'users', 2000);

        // 1.open database
        const { res: sqLite, err } = await sqLiteHelper.open();
        // original sqLite Instance: execute sql
        sqLite.executeSql('SELECT * FROM Employee');
        ...

        // 2.delete db
        const { res, err } = await SQLiteHelper.delete('test.db');
        ...

        // 3.close database
        const { res, err } = await sqLiteHelper.close();
        ...

        // 4.create table
        const { res, err } = await sqLiteHelper.createTable({
            tableName: 'people',
            tableFields: [
                {
                    columnName: 'id',
                    dataType: 'INTEGER PRIMARY KEY AUTOINCREMENT',
                },
                {
                    columnName: 'name',
                    dataType: 'varchar',
                }, {
                    columnName: 'age',
                    dataType: 'int',
                }, {
                    columnName: 'sex',
                    dataType: 'varchar',
                },
            ],
        });
        ...

        // 5.drop table
        const { res, err } = await sqLiteHelper.dropTable('people');
        ...

        // 6.insert items
        const userData = [
            {
                name: '张三',
                age: 26,
                sex: '男',
            },
            {
                name: '李四',
                age: 22,
                sex: '女',
            },
        ];
        const { res, err } = await sqLiteHelper.insertItems('people', userData);
        ...

        // 7.delete item
        const { res, err } = await sqLiteHelper.deleteItem('people', { name: 'zhanggl' });
        ...

        // 8.update item
        const { res, err } = await sqLiteHelper.updateItem('people', { name: 'XiaoMing' }, { name: 'XiaoZhang', age: '22' });
        ...

        // 9.query: the first page, five items per page
        const { res, err } = await sqLiteHelper.selectItems('people', '*', null, 1, 5);
        ...

        // 10.query all
        const { res, err } = await sqLiteHelper.selectItems('people', '*', null);
        ...

        // 11.query some columns
        const { res, err } = await sqliteHelper.selectItems(
            'people',
            ['name', 'age', 'sex'],
            { age: 22 },
            1,
            5
        );
        ...
    }

Changelog | 变更记录

CHANGELOG

react-native-sqlite-helper's People

Contributors

longlongago2 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.