HTML5 Web SQL 中的数据库文件位置 chrome
HTML5 Web SQL database file location in chrome
我想在我的下一个 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 并检查配置文件路径值。您的 sqlite 数据库应该在里面,在 'databases' 文件夹中。
您找到 2 行(而不是 4 行)的特定问题可能是由于插入具有相同 ID 的行引起的。 id 列是唯一的,因此其他插入失败。
打开chrome。按 F12 然后转到第一行的应用程序(您可以使用 >> 符号)。
转到 storage->websql 并查看您的数据库:)
我想在我的下一个 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 并检查配置文件路径值。您的 sqlite 数据库应该在里面,在 'databases' 文件夹中。
您找到 2 行(而不是 4 行)的特定问题可能是由于插入具有相同 ID 的行引起的。 id 列是唯一的,因此其他插入失败。
打开chrome。按 F12 然后转到第一行的应用程序(您可以使用 >> 符号)。 转到 storage->websql 并查看您的数据库:)