Dev JS Blog

Expo Sqlite 사용법 본문

IT

Expo Sqlite 사용법

Dev JS 2023. 6. 24. 12:26
728x90

Expo Sqlite 를 사용하기 위해 패키지를 추가해준다.

yarn add expo-sqlite
import * as SQLite from 'expo-sqlite'

const DB_NAME = 'app.db'
const DB_VERSION = '1'

const db = SQLite.openDatabase(DB_NAME, DB_VERSION)
db.exec([{ sql: 'PRAGMA foreign_keys = ON;', args: [] }], false, () =>
	console.log('Foreign keys turned on')
)

원하는 DB 이름과 버전을 지정해준다.

db.transaction(tx=>{
  tx.executeSql('select * from table',[],
  (tx,resultSet)=>{
  	// query callback 
    // result.rows
  },(tx,error)=>{
	// query error 
  })
},(tx,error)=>{
	// transaction error
},()=>{
	//transaction success
})

기본적인 조회 방법이다. 

Select 

db.transaction(tx=>{
  tx.executeSql('SELECT * FROM table',
    [],
    (tx,resultSet)=>{
      for(let i = 0; i < resultSet.rows.length; i++){
        resultSet.rows.item(i)
      }
    },

resultSet.rows.item 을 통해서 query 결과를 가져올수있다.

Insert

db.transaction(tx=>{
  tx.executeSql('INSERT INTO table (id,name) values(?,?)',
  [1,'js'],
  ()=>{

  },(tx,error)=>{

  })

insert 쿼리에 ? 을 하고 그다음 배열에 파라미터를 입력해주면 ? 에 매핑되어 insert 를 할 수있다.
물론 ? 를 안쓰고 그냥 select 하는것처럼 쿼리를 돌려도 된다.

 

728x90
Comments