SQLite数据库在Javascript本地 [英] SQLite database in Javascript locally
问题描述
我在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);
问题是数据库是空的,因为当我运行它时会出现错误'No such table '。
我认为它创建了一个名为myDatabase的新数据库,这就是为什么它没有表。
有人知道如何打开我的文件与所有
此脚本将帮助您您:
< script type =text / javascript>
function createDatabase(){
try {
if(window.openDatabase){
var shortName ='db_xyz';
var version ='1.0'
var displayName ='显示信息';
var maxSize = 65536; //以字节为单位
db = openDatabase(shortName,version,displayName,maxSize);
}
} catch(e){
alert(e);
}
}
function executeQuery($ query,callback){
try {
if(window.openDatabase){
db.transaction $ b function(tx){
tx.executeSql($ query,[],function(tx,result){
if(typeof(callback)==function){
callback (result);
} else {
if(callback!= undefined){
eval(callback +(result));
}
}
},function(tx,error){});
});
return rslt;
}
} catch(e){}
}
function createTable(){
var sql ='drop table image';
executeQuery(sql);
var sqlC ='CREATE TABLE image(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,name TEXT NOT NULL,image BLOB)';
executeQuery(sqlC);
}
function insertValue(){
var img = document.getElementById('image');
var sql ='insert into image(name,image)VALUES(sujeet,'+ img +')';
executeQuery(sql,function(results){alert(results)});
}
< input type =buttonname ='create'onClick =createDatabase()value ='Create Database'>
< input type =buttonname ='create'onClick =createTable()value ='create table'>
< input type =buttonname ='insert'onClick =insertValue()value ='Insert value'>
< input type =buttonname ='select'onClick =showTable()value ='show table'>
< input type =fileid =image>
< div result>< / div>
< / script>
要下载代码,请访问url:
http://blog.developeronhire.com/create-sqlite-table-insert -into-sqlite-table /
I'm using a PhoneGap project on XCode. I am trying to connect to a SQLite databse by using Javascript.
I have made a file "myDatabase.sqlite" in an SQLite tool. Now my question is how do I open that database in my code? Right now I'm using the following code:
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);
The problem is that the database is empty because when i run it it gives the error 'No such table'. I think it created a new database named "myDatabase" and thats why it has no tables.
Does anyone know how I can open my file with all the tables in it?
Thanks!
This script will help you:
<script type="text/javascript">
function createDatabase(){
try{
if(window.openDatabase){
var shortName = 'db_xyz';
var version = '1.0';
var displayName = 'Display Information';
var maxSize = 65536; // in bytes
db = openDatabase(shortName, version, displayName, maxSize);
}
}catch(e){
alert(e);
}
}
function executeQuery($query,callback){
try{
if(window.openDatabase){
db.transaction(
function(tx){
tx.executeSql($query,[],function(tx,result){
if(typeof(callback) == "function"){
callback(result);
}else{
if(callback != undefined){
eval(callback+"(result)");
}
}
},function(tx,error){});
});
return rslt;
}
}catch(e){}
}
function createTable(){
var sql = 'drop table image';
executeQuery(sql);
var sqlC = 'CREATE TABLE image (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, image BLOB )';
executeQuery(sqlC);
}
function insertValue(){
var img = document.getElementById('image');
var sql = 'insert into image (name,image) VALUES ("sujeet","'+img+'")';
executeQuery(sql,function(results){alert(results)});
}
<input type="button" name='create' onClick="createDatabase()" value='Create Database'>
<input type="button" name='create' onClick="createTable()" value='create table'>
<input type="button" name='insert' onClick="insertValue()" value='Insert value'>
<input type="button" name='select' onClick="showTable()" value='show table'>
<input type="file" id="image" >
<div result></div>
</script>
To download the code go visit url:
http://blog.developeronhire.com/create-sqlite-table-insert-into-sqlite-table/
这篇关于SQLite数据库在Javascript本地的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!