【问题标题】:Open a SQLite file and read it with `openDatabase`打开一个 SQLite 文件并使用 `openDatabase` 读取它
【发布时间】:2015-04-23 22:55:35
【问题描述】:

我试图打开一个这样的新数据库:

localFileName = 'open-streets-dc.mbtiles';
db = window.openDatabase(localFileName, '1', 'my', 1024 * 1024 * 100);

它将在 Web SQL 中创建一个新数据库,我可以使用 chrome 浏览它。就我而言,我必须阅读现有的 SQLite 文件,但我没有找到解决方案。

我尝试了sql.js,但我需要让它在 Android 上运行,使用ionic 并且它不起作用,正如您在this issue 中看到的那样。

你有解决方案的想法吗?

【问题讨论】:

    标签: javascript android sqlite cordova ionic-framework


    【解决方案1】:
    var db = window.openDatabase("Database", "1.0", "MyDB", 200000);
        if(db) {
            console.log("database created / opened");
            //div.innerHTML = div.innerHTML + "<hr>database created / opened";
        }
    

    【讨论】:

    • 此代码无法解决问题,因为它不会读取本地文件。
    • 尝试一下,我自己使用的是相同的代码,并且运行良好
    【解决方案2】:

    如果你想从 chrome 访问数据库,这意味着数据库在 web 服务器中,对吗?我是这样可以帮助你https://fahmirahman.wordpress.com/2011/04/21/connection-between-php-server-and-android-client-using-http-and-json/很高兴帮助你

    【讨论】:

    • 数据库不在网络服务器上。它必须可以离线使用。
    【解决方案3】:

    我使用这个插件来访问带有 cordova 的数据库。在 README 中,您可以找到一些有用的代码。

    Cordova-SQLitePlugin

    问候,

    【讨论】:

    • 似乎很难与离子一起使用。 Ionic 在开发中模拟文件cordova.js,因此插件不起作用。
    • @Dougui 我不认为 ionic 和这个插件不能很好地协同工作。正如您在 post 中看到的,您可以使用 ionic 安装它。
    • 我回到了原来的问题。帖子中的解决方案使用window.openDatabase。在 dev mod 中,数据库是空的,我无法从文件中读取它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    • 2012-09-29
    • 2016-06-23
    • 1970-01-01
    相关资源
    最近更新 更多