I'm using a PhoneGap project on Xcode. I am trying to connect to a SQLite database by using JavaScript.
I have made a file, "myDatabase.sqlite", in an SQLite tool. 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 that’s why it doesn't have any tables.
How can I open my file with all the tables in it?
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 this URL:
http://blog.developeronhire.com/create-sqlite-table-insert-into-sqlite-table/