为什么我的SQLite数据库文件不显示任何数据?

时间:2019-05-31 20:45:05

标签: android database sqlite react-native

目标-

我正在尝试使用React native从地理位置API存储经度和纬度数据。我创建了一个.db文件,并将其放入android的/assets/文件夹中。首先,我试图插入或检索任何类型的数据,而不是位置数据。 错误-

它表明当我尝试Test时没有名为console.log()的表。

问题-

每当我尝试将数据插入数据库时​​,我都看不到任何新数据,而且当我尝试读取一个已经填充的数据库时,我什么也看不到。我哪里错了?我对此很陌生。

  1. SQL transaction返回的响应是什么。我console.log,但听不懂。

  2. transaction function be located?

我正在将DBbrowser用于SQLite 操作系统-MacOS

代码-

I am using this function to send or receive data.

sendData = () => {
        // var SQLite = require('react-native-sqlite-storage')
        var db = SQLite.openDatabase({name: 'a', createFromLocation : "~test.sqlite"}, this.openCB, this.errorCB); 
        db.transaction(txn => {
        txn.executeSql(
        //   "INSERT INTO Test (latitude,longitude) VALUES(?,?)",
        'SELECT * FROM Test',
          [],      //Argument to pass for the prepared statement
          (res) => {
            // let row = res.rows.(1);
            console.log(res);
          }   //Callback function to handle the result response
        );
      }); 
    };

// I mapped this button to send data.

<TouchableOpacity onPress={this.sendData} style={styles.button}>
<Text> SEND DATA</Text
</TouchableOpacity>

1 个答案:

答案 0 :(得分:0)

您将无法修改资产文件夹中存储的数据库。典型的方法是在尝试打开数据库以插入记录之前,首先要检查数据库是否存在于apps数据文件夹中(不确定React是否具有相同的文件夹结构)。如果数据文件夹中不存在该数据库,则将干净的数据库从资产复制到数据文件夹,然后从数据文件夹中打开数据库。只要未从设备上删除该应用程序,数据文件夹中的数据库以及您插入其中的所有数据都将保留。删除并重新安装该应用程序后,必须再次从资产中复制该数据库,并且该数据库将是干净的,其中没有新数据。