【React Native】「react-native-sqlite-storage」ライブラリを使ってSQLiteにデータを登録する

先日、React Native アプリで SQLite を実装する方法について紹介しましたが、今回はその続きでデータの追加についてです。
MySQL などのデータベースを扱った経験があれば、恐らくそう難しくないかと思います。

 

早速ですが、サンプルコードは下記のとおりです。

import SQLite from 'react-native-sqlite-storage';
SQLite.enablePromise(true);

SQLite.openDatabase(
  {
    name: 'example.db',
    location: 'default',
    createFromLocation: '~www/example.db',
  },
  (db) => {
    db.transaction(tx => {
      const insert = "INSERT INTO members (id, name, age) VALUES (?, ?, ?)";
      const values = [1, "山田太郎", 30];
      tx.executeSql(insert, values, (trans, results) => {
        console.log(results);
      },
      (error) => {
        console.log(error);
      });
    });
  }
);

しかし、私の環境では上記を実行しても、カラムが存在しないとか、カラムの型とデータが一致しないとかで警告が発生し、一向にデータが登録できませんでした。
ですが、DB Browser for SQLite というアプリで、データベースの内容を確認すると、カラムも存在しているし、型も合っています…。
しばらく悩んだのですが、試しにスマートフォンからアプリを削除し、再インストールしてみたところ、何とすんなり動作しました。
データベースへの登録もできましたし、登録したデータを取得したところ、こちらも問題なく保存されていました。
おそらくキャッシュか何かが残っていたのだと思います。

気付くまでに少々時間がかかりましたが…もし同じようなことでお悩みだったら、一度アプリの削除・再インストールを試してみるのもいいかもしれません。

 

以上、React Native の「react-native-sqlite-storage」ライブラリを使って SQLite データベースにデータを追加する方法についてでした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG