Я пытаюсь получить доступ к таблице 'Tasks'
с помощью SQLITE-EXPO API
Однако, когда я запускаю запрос 'CREATE TABLE'
, он просто возвращает сообщение об ошибке:
[INFO]: DATABASE - SUCCESFULLY OPENED
[INFO]: SQL - ERROR DURING TABLE OPENING [Error: Error code 1: no such table: Tasks]
Я запутался, так как этот запрос ПРЕДНАЗНАЧЕН для создания таблицы .. но он продолжает возвращать эту ошибку.
Вот мой код ниже:
// DATABASE STUFF ----------------------------------------
var dbOpen = false;
// create database instance & open it
const db = SQLite.openDatabase('Tasks-Database.sqlite3', '1.0', 'Tasks-Database', 20000, openCB, errorCB);
function errorCB(err) {
console.log("[INFO]: SQL Error: " + err);
};
function successCB(res) {
console.log("[INFO]: SQL Success: " + res);
};
function openCB() {
console.log("[INFO]: DATABASE - SUCCESFULLY OPENED");
};
// Table name
const TABLE = 'Tasks'
// fetch data from task-database
useEffect(()=>{
// // create database if one does not exist yet
if(dbOpen !== true){
//var query = 'DROP TABLE IF EXISTS ' + TABLE + ';';
var query = 'CREATE TABLE IF NOT EXISTS ' + TABLE + ' ("TaskId" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "TaskName" TEXT NOT NULL, "TaskDate" BLOB, "TaskDateType" INTEGER NOT NULL DEFAULT 0, "TaskStatus" INTEGER NOT NULL DEFAULT 0, "TaskPriority" TEXT NOT NULL);';
var params = [];
db.transaction((tx) => {
tx.executeSql(
query,
params,
(tx,res) => {console.log('\n[INFO]: SQL - SUCCESFULLY OPENED TABLE\n\n',res)},
(tx,err) => {console.log('\n[INFO]: SQL - ERROR DURING TABLE OPENING', err)})
},);
dbOpen = true;
};
// fetch tasks from database and list them
if(dbOpen === true){
var query = 'SELECT * FROM ' + TABLE +';';
var params = [];
db.transaction(tx => {
tx.executeSql(
query,
params,
(_, { rows: { _array } }) => setItems(_array)
);
});
}
setRefreshing(false)
},[items]);