【React Native】【Expo】SQLiteを使ってみる
はじめに
お世話になります、hosochinです
さて、今回は
React Native(Expo)でSQLiteを操作してみた
です
公式みながらやっていこうと思います
React NativeとExpoについてはこちらを参照してください〜
チュートリアル
- expo-sqliteをインストール
expo install expo-sqlite
- こんな感じでSQLiteを操作できる
/**
* SQLiteと接続
*/
const db = SQLite.openDatabase("db");
/**
* SQLを実行する
*/
db.transaction((tx) => {
tx.executeSql(
`〜〜実行したいSQL文〜〜`,
[`〜〜SQL文の引数〜〜`],
() => {
// 成功時のコールバック関数;
},
() => {
// 失敗時のコールバック関数
}
);
});
- 具体的なサンプルコード
import * as SQLite from "expo-sqlite";
/**
* SQLiteと接続
*/
const db = SQLite.openDatabase("db");
createTable(); // 「sample_table」というテーブル作成
insert(1, "Taro"); // 「id=1, name=Taro」のデータを登録
insert(2, "Jiro"); // 「id=2, name=Jiro」のデータを登録
select(); // データを取得してログに表示
/**
* テーブルを作成する
*/
function createTable() {
db.transaction((tx) => {
tx.executeSql(
// 実行したいSQL文
`create table if not exists sample_table (id integer primary key not null, name text);`,
// SQL文の引数
// 必要ないときは空のまま
[],
// 成功時のコールバック関数
() => {
console.log("create table success");
},
() => {
// 失敗時のコールバック関数
console.log("create table faile");
return false;
}
);
});
}
/**
* データを登録する
*/
function insert(id, name) {
db.transaction((tx) => {
tx.executeSql(
// 実行したいSQL文
// ?のところに引数で設定した値が順番に入る
`insert into sample_table values (?, ?);`,
// SQL文の引数
[id, name],
// 成功時のコールバック関数
() => {
console.log("insert success");
},
() => {
// 失敗時のコールバック関数
console.log("insert faile");
return false;
}
);
});
}
/**
* データを取得する
*/
function select() {
db.transaction((tx) => {
tx.executeSql(
// 実行したいSQL文
`select * from sample_table;`,
// SQL文の引数
[],
// 成功時のコールバック関数
(_, { rows }) => {
console.log("select success");
console.log("select result:" + JSON.stringify(rows._array));
},
() => {
// 失敗時のコールバック関数
console.log("select faile");
return false;
}
);
});
}
- 実行結果
create table success
insert success
insert success
select success
select result:[{"id":1,"name":"Taro"},{"id":2,"name":"Jiro"}]
まとめ
簡単に端末内にデータを保存することができました!
ディスカッション
コメント一覧
まだ、コメントがありません