Imagem de Capa

Instalando o SQLite no React Native

Passo a Passo do Processo de Instalação do SQLite no React Native.

By João Paulo Siqueira At Thu Dec 30 2021 22:28:57 GMT+0000 (Coordinated Universal Time)

#sqlite #reactnative

Não tem secreto, você só precisa instalar o pacote, importar e usar.

npm install react-native-sqlite-storage
import { openDatabase } from 'react-native-sqlite-storage'
var db = openDatabase({ name: 'UserDatabase.db' })

Criando uma Tabela:

db.transaction(tx => {
	const query = 'CREATE TABLE IF NOT EXISTS items (id INTEGER PRIMARY KEY AUTOINCREMENT, item_text TEXT NOT NULL)'
	tx.executeSql(query, [], (tx, results) => {
		console.log('Tabela Criada!')
		// console.log(results)
	})
})

Salvando um item no Banco de Dados:

db.transaction(tx => {
	const query = `INSERT INTO items (item_text) VALUES('${text}');`
	tx.executeSql(query, [], (tx, results) => {
		console.log('Item Salvo!')
		// console.log(results)
	})
})

Consultando Todos os Itens:

db.transaction(tx => {
	const query = `SELECT id, item_text FROM items;`
	tx.executeSql(query, [], (tx, results) => {
		let len = results.rows.length
		for (let i = 0; i < len; i++) {
			let row = results.rows.item(i)
			console.log(`id: ${row.id}, text: ${row.item_text}`)
		}
	})
})

Deletar um Item:

db.transaction(tx => {
	const query = `DELETE FROM items WHERE id=${id};`
	tx.executeSql(query, [], (tx, results) => {
		// console.log(results)
		findAllItems()
	})
})

Retorna Um Promise(true) se um Ítem Existe:

const existe = async (id) => {
	return new Promise((resolve, reject) => {
		db.transaction(tx => {
			const query = `SELECT EXISTS (SELECT 1 FROM items WHERE id = '${id}') AS existe;`
			tx.executeSql(query, [], (tx, results) => {
				resolve(results?.rows?.item(0)?.existe == 1)
			}, (error) => reject(new Error(error)))
		})
	})
}