Adobe AIR - 针对数据库的 SQL 语句

发布于 2024-11-25 13:25:42 字数 1388 浏览 0 评论 0原文

这是我的 Adob​​e Air javascript:

$(document).ready(function(e) {
    setupDB();

    var tasks = getTasks();
    $("#tasks").empty();

    var numRecords = tasks.data.length;

    for(i=0; i<numRecords; i++) {
        $("<li/>").append('<span>'+ tasks.data[i].id +' - '+ tasks.data[i].task +'</span>').appendTo("#tasks");
    }
});


var db = new air.SQLConnection();

function setupDB() {

    var dbFile = air.File.applicationStorageDirectory.resolvePath("airTasks.db");

    try {
        db.open(dbFile);    

    } catch (error) {
        alert("DB Error: "+ error.message);
        alert("Details: "+ error.details);

        air.trace("DB Error: "+ error.message);
        air.trace("Details: "+ error.details);  
    }
}

function getTasks() {   

    var query = new air.SQLStatement();
    query.sqlConnection = db;
    query.text = "SELECT id, task FROM tasks";

    try {
        query.execute();

    } catch(error) {
        alert("Error getting tasks from DB: "+ error.message +", DETAILS: "+ error.details);

        air.trace("Error getting tasks from DB: "+ error);
        air.trace(error.message);

        return; 
    }

    return query.getResults();
}

这是数据库版本 3 - airTasks.db 的屏幕截图 在此处输入图像描述

我不断收到:

错误:找不到表“任务”。

This is my javascript for Adobe Air:

$(document).ready(function(e) {
    setupDB();

    var tasks = getTasks();
    $("#tasks").empty();

    var numRecords = tasks.data.length;

    for(i=0; i<numRecords; i++) {
        $("<li/>").append('<span>'+ tasks.data[i].id +' - '+ tasks.data[i].task +'</span>').appendTo("#tasks");
    }
});


var db = new air.SQLConnection();

function setupDB() {

    var dbFile = air.File.applicationStorageDirectory.resolvePath("airTasks.db");

    try {
        db.open(dbFile);    

    } catch (error) {
        alert("DB Error: "+ error.message);
        alert("Details: "+ error.details);

        air.trace("DB Error: "+ error.message);
        air.trace("Details: "+ error.details);  
    }
}

function getTasks() {   

    var query = new air.SQLStatement();
    query.sqlConnection = db;
    query.text = "SELECT id, task FROM tasks";

    try {
        query.execute();

    } catch(error) {
        alert("Error getting tasks from DB: "+ error.message +", DETAILS: "+ error.details);

        air.trace("Error getting tasks from DB: "+ error);
        air.trace(error.message);

        return; 
    }

    return query.getResults();
}

Here is a screenshot of the Database Version 3 - airTasks.db
enter image description here

I keep getting:

ERROR: Table "tasks" not found.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怎会甘心 2024-12-02 13:25:42

仔细检查您正在打开的文件路径是否确实存在。如果没有,SQLite 会为您创建一个。

在调用 db.open() 之前尝试以下方法进行故障排除:

alert(dbFile);

这是数据库的正确路径吗?

Double check that your filepath being opened actually exists. If it doesn't, SQLite creates one for you.

Try this to troubleshoot before you call db.open():

alert(dbFile);

Is this the correct path to your db?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文