Я пытаюсь использовать react-native-sqlite-storage
для сохранения данных на устройстве.
Но мне нужно будет использовать много транзакций во время моего кода и когда я пытаюсь вернуть свой экземпляр с помощью SQLite.openConnection
и открыть транзакцию, не работает. И если я пытаюсь выполнить SQL из моего db instace, он работает отлично.
db
если мой экземпляр пришел от SQLite.openConnection()
// THIS WORKS
db.executeSql(queryCreateTable)
.catch(erro => console.log(`erro executesql ${erro}`));
db.executeSql('INSERT INTO PEOPLE VALUES ("Mateus Pereira", 20)')
.catch(erro => console.log(`erro executesql ${erro}`));
db.executeSql('SELECT * FROM PEOPLE').then(([results]) => {
const { rows } = results;
console.log(rows);
for (let i = 0; i < rows.length; i += 1) {
const row = rows.item(i);
console.log(`Name: ${row.nome}, Idade: ${row.idade}`);
}
});
// THIS DOESNT WORK
db.transaction().then((tx) => {
tx.executeSql(queryCreateTable)
.catch(erro => console.log(`erro executesql ${erro}`));
tx.executeSql('INSERT INTO PEOPLE VALUES ("Mateus Pereira", 20)')
.catch(erro => console.log(`erro executesql ${erro}`));
tx.executeSql('SELECT * FROM PEOPLE').then(([results]) => {
const { rows } = results;
console.log(rows);
for (let i = 0; i < rows.length; i += 1) {
const row = rows.item(i);
console.log(`Name: ${row.nome}, Idade: ${row.idade}`);
}
});
}).catch(error => console.log(error));
{
"db": {
"openargs": {
"name": "Test2.db",
"dblocation": "nosync"
},
"dbname": "Test2.db"
},
"txlock": true,
"readOnly": false,
"executes": []
}