目标-
我正在尝试使用React native从地理位置API存储经度和纬度数据。我创建了一个.db
文件,并将其放入android的/assets/
文件夹中。首先,我试图插入或检索任何类型的数据,而不是位置数据。
错误-
它表明当我尝试Test
时没有名为console.log()
的表。
问题-
每当我尝试将数据插入数据库时,我都看不到任何新数据,而且当我尝试读取一个已经填充的数据库时,我什么也看不到。我哪里错了?我对此很陌生。
SQL transaction
返回的响应是什么。我console.log
,但听不懂。
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>
答案 0 :(得分:0)
您将无法修改资产文件夹中存储的数据库。典型的方法是在尝试打开数据库以插入记录之前,首先要检查数据库是否存在于apps数据文件夹中(不确定React是否具有相同的文件夹结构)。如果数据文件夹中不存在该数据库,则将干净的数据库从资产复制到数据文件夹,然后从数据文件夹中打开数据库。只要未从设备上删除该应用程序,数据文件夹中的数据库以及您插入其中的所有数据都将保留。删除并重新安装该应用程序后,必须再次从资产中复制该数据库,并且该数据库将是干净的,其中没有新数据。