chrome

时间:2015-04-24 08:34:26

标签: html5 sqlite google-chrome web-sql

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

<!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文件,在搜索之后,每个人都指向这个特定文件夹中的db文件:

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

当我去那个地方时,它是空的。

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

这就是为什么我无法在我的电脑上找到本地文件的原因吗?

2 个答案:

答案 0 :(得分:13)

将Chrome浏览器导航至Z?$ 网址,然后检查“配置文件路径”值。您的sqlite数据库应位于“数据库”文件夹中。

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

答案 1 :(得分:1)

打开镀铬。按F12,然后转到第一行中的应用程序(您可以使用&gt;&gt;符号)。 转到storage-&gt; websql并查看您的数据库:)