Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict';
- import SQLite from 'react-native-sqlite-storage';
- const
- DB_NAME = 'sistarjsmobile',
- DB_VERSION = '1.0',
- DB_DISPLAY_NAME = 'SistarJS SQLite Database',
- DB_SIZE = 200000;
- var
- db;
- //SQLite.DEBUG(true);
- SQLite.enablePromise(true);
- class SQLiteConn {
- static openDatabase () {
- return new Promise((resolve, reject) => {
- if (db) {
- resolve(db);
- } else {
- SQLite.openDatabase(DB_NAME, DB_VERSION, DB_DISPLAY_NAME, DB_SIZE)
- .then(database => {
- db = database;
- resolve(db);
- })
- .catch(err => {
- reject(err);
- });
- }
- });
- }
- static closeDatabase () {
- return new Promise ((resolve, reject) => {
- if (db) {
- db.close()
- .then(status => {
- resolve(status);
- })
- .catch(err => {
- reject(err);
- })
- } else {
- resolve(false);
- }
- });
- }
- static getInstance () {
- return new Promise((resolve, reject) => {
- if (db) {
- resolve(db);
- } else {
- SQLiteConn.openDatabase()
- .then(db => {
- resolve(db);
- })
- .catch(err => {
- reject(err);
- });
- }
- });
- }
- static select (query) {
- return new Promise((resolve, reject) => {
- if (db) {
- execute();
- } else {
- SQLiteConn.openDatabase()
- .then(() => {
- execute();
- })
- .catch(err => {
- reject(err);
- })
- }
- function execute () {
- db.executeSql(query)
- .then(res => {
- var
- records;
- records = SQLiteConn._getRows(res[0]);
- resolve(records);
- })
- .catch(err => {
- reject (err);
- });
- }
- });
- }
- static _getRows (res) {
- var
- rows = res.rows,
- records = [];
- for (var i = 0; i < rows.length; i++) {
- records.push(rows.item(i));
- }
- return records;
- }
- }
- export default SQLiteConn;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement