本地 Javascript 中的 SQLite 数据库
我正在 XCode 上使用 PhoneGap 项目。 我正在尝试使用 Javascript 连接到 SQLite 数据库。
我在 SQLite 工具中创建了一个文件“myDatabase.sqlite”。现在我的问题是如何在我的代码中打开该数据库?现在我正在使用以下代码:
var db;
var shortName = 'myDatabase';
var version = '1.0';
var displayName = 'myDatabase';
var maxSize = 65535;
db = openDatabase(shortName, version, displayName,maxSize);
db.transaction(function(transaction) {
transaction.executeSql('SELECT * FROM User;', [],
function(transaction, result) {
if (result != null && result.rows != null) {
for (var i = 0; i < result.rows.length; i++) {
var row = result.rows.item(i);
alert(row.ID);
}
}
}, errorHandler);
}, errorHandler, nullHandler);
问题是数据库是空的,因为当我运行它时,它给出错误“没有这样的表”。 我认为它创建了一个名为“myDatabase”的新数据库,这就是它没有表的原因。
有谁知道如何打开包含所有表格的文件?
谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
该脚本将帮助您:
要下载代码,请访问网址:
http://blog .developeronhire.com/create-sqlite-table-insert-into-sqlite-table/
This script will help you:
To download the code go visit url:
http://blog.developeronhire.com/create-sqlite-table-insert-into-sqlite-table/
myDatabase 和 myDatabase.sqlite 是 2 个不同的文件名,请更新您的代码以引用带扩展名的正确文件名。
如果您尝试打开不存在的数据库,SQLite 会自动创建一个新的空数据库。
myDatabase and myDatabase.sqlite are 2 different filenames, update your code to reference the correct filename with extension.
SQLite does automatically create a new empty database if you try to open a database that doesn't exist.
在我的 sqlite 代码中,我使用三个 js 文件来控制 sqlite,一个用于调试目的,一个用于执行查询,另一个用于初始化数据库并创建基本表。
调试.js
启动.js
query.js
参考网址为 http://allinworld99.blogspot.in/2016/04/sqlite-first-setup.html
启动.js
调试.js
查询.js
In my sqlite code I am using three js file for controlling sqlite one for debugging purpose, one for executing querys and another one for initilize the database and create basic tables.
debug.js
startup.js
query.js
Reference URL is http://allinworld99.blogspot.in/2016/04/sqlite-first-setup.html
startup.js
debug.js
query.js
我遇到了同样的问题,我发现你不能像这样使用你的 sqlite 数据库。
我使用 Chrome,发现 Chrome 将数据库存储在
“C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default\databases”
中。Chrome 使用
Databases.db
来管理数据库。如果您想使用数据库,您应该在
Databases.db
中添加一条记录,并将文件放入“file__0”
目录中,并将其(您的数据库文件)重命名为id分配给该记录。I had same problem and I found out that you cannot use your sqlite db like this.
I used chrome and I found out that Chrome stores DBs in
"C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default\databases"
.There is a
Databases.db
that Chrome uses for managing DBs.If you want to use your db you should add a record into
Databases.db
and put your file in"file__0"
directory and rename it (your db file) to the id that is assigned to that record.