Chrome 中的 HTML5 Web SQL 数据库文件位置

标签 html sqlite google-chrome web-sql

我想在我的下一个 Web 应用程序项目中使用 HTML Web SQL,所以我快速搜索了一个教程并编写了以下代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Web SQL Test</title>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script type="text/javascript">
    $(function() {
        var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
        db.transaction(function (tx) {
           tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
           tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "foobar")');
           tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "logmsg")');
        });
        db.transaction(function (tx) {
           tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {
           var len = results.rows.length, i;
           msg = "<p>Found rows: " + len + "</p>";
           document.querySelector('#status').innerHTML +=  msg;
           for (i = 0; i < len; i++){
              alert(results.rows.item(i).log );
           }
         }, null);
        });
    });
    </script>
</head>
<body id="status">
</body>
</html>

我通过 WAMP ( http://localhost/web_sql.html ) 在 chrome 中运行上面的代码,我可以在浏览器中看到预期的输出:Found rows: 2

现在我试图在我的 PC 上找到由此操作创建的 sqlite 文件,在四处搜索之后,每个人都指向这个特定的数据库文件文件夹:

C:\Users\USERNAME\AppData\Local\Google\Chrome\User Data\Default\databases

当我去到那个位置时,它是空的。

另一方面,数据库更改似乎不会持续存在。如果我刷新页面,它仍然显示 Found rows: 2(当然应该显示 4)。

这就是我在 PC 上本地找不到文件的原因吗?

最佳答案

将您的 Chrome 导航到 chrome://version url 并检查 Profile Path 值。您的 sqlite 数据库应该在其中,在“数据库”文件夹中。

您发现的 2 行(而不是 4 行)的特定问题可能是由于插入具有相同 ID 的行引起的。 id 列是唯一的,因此其他插入失败。

关于Chrome 中的 HTML5 Web SQL 数据库文件位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29842481/

相关文章:

html - 标题中的电话号码不可点击

sqlite - 带有 SQLite 的 Dokku?

database - 如何在sqlite中添加外键关系

java - Spring MVC 中的选择框看起来是空的

google-chrome - Cookie 会在 Chrome 中自动删除

javascript - Google map api3 不会在 Chrome 或 IE 中显示

php - 根据标签文本更改输入类型图像的 css

javascript - jQuery 如果单选按钮被选中则继续下一个元素

php将sqlite表导出到csv

javascript - 根据 react 中 child 的类(class)显示