HTML5SQL
PUBLISHED
Overview
This Article demonstrates usage of database operations in Web Application. All the data and code is taken from open source library html5sql.js.
HTML5SQL Application
html5sql is a light JavaScript module that makes working with the HTML5 Web Database a whole lot easier. Its primary function is to provide a structure for the SEQUENTIAL processing of SQL statements within a single transaction.
Prerequisites
The following open source javascript library has to be included in the html page
<script type="text/javascript" src="./js/html5sql.js"></script>
HTML Page
The web Page content contains a div elements for displaying results on the content page. The page footer contains buttons to show database functionalities like create, delete and show. The html code is shown below.
<div data-role="page">
<div data-role="header" data-position="fixed">
<h1>HTML5SQL Demo</h1>
</div>
<div data-role="content">
<div id="successfullStatements"></div>
</div>
<div data-role="footer" data-position="fixed">
<div data-role="tabbar">
<ul>
<li><a id="createTable">Create</a></li>
<li><a id="showTable">Show</a></li>
<li><a id="deleteTable">Delete</a></li>
</ul>
</div>
</div>
</div>Javascript
To create database, the following sql query is passed to html5sql library to create database.
function createTable()
{
var successfullStatements = $("#successfullStatements"),
errors = $("#errors");
html5sql.process(
["DROP TABLE IF EXISTS StarWarsCharacters;",
"CREATE TABLE IF NOT EXISTS StarWarsCharacters (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT);",
"INSERT INTO StarWarsCharacters (name) VALUES ('Antony');",
"INSERT INTO StarWarsCharacters (name) VALUES ('BroadMan');",
"INSERT INTO StarWarsCharacters (name) VALUES ('Donald');",
"INSERT INTO StarWarsCharacters (name) VALUES ('Esibella Leia');",
],
function(){
alert("Created Table");
}, function(error, statement){
alert("Failed to create Table" + error.msg);
}
}The below code is used to retrieve the data from database
function showTable(){
var successfullStatements = $("#successfullStatements"),
errors = $("#errors")
html5sql.process(
["SELECT * FROM StarWarsCharacters;"],
function(transaction, results, rowsArray){
for(var i = 0; i < rowsArray.length; i++){
successfullStatements.append("<li>Retrieved" +rowsArray[i].name+"</li>");
}
successfullStatements.append("<li>Done selecting data</li>");
},
function(error, statement){
errors.append("<li>"+error.message+" Occured while processing: "+statement+"</li>");
}
);
}To delete the table from dataase, “drop” sql query is used as shown in below code.
function deleteTable(){
html5sql.process( ["drop table if exists StarWarsCharacters"], function(){
alert("Deleted the table");
} , function(error, statement){
console.log("error message"+ error.message);
});
}Screenshots
Below is the screenshot of the HTML5SQL Application is shown below

Was this document helpful?
We value your feedback. Please let us know what you think.