JavaScript Database Test

by Abhijeet Deshmukh

JavaScript

ptry {
  if (!window.openDatabase) {
    alert('not supported');
  } else {
    var shortName = 'mydatabase';
    var version = '1.0';
    var displayName = 'My Important Database';
    var maxSize = 65536; // in bytes
    var db = openDatabase(shortName, version, displayName, maxSize);
    // You should have a database instance in db.

    createTables(db)
  }
} catch (e) {
  // Error handling code goes here.
  if (e == 2) {
    // Version number mismatch.
    alert("Invalid database version.");
  } else {
    alert("Unknown error " + e + ".");
  }
}

alert("Database is: " + db);

function nullDataHandler(transaction, results) {}

function createTables(db) {
  db.transaction(
    function(transaction) {

      /* The first query causes the transaction to (intentionally) fail if the table exists. */
      transaction.executeSql('CREATE TABLE people(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL DEFAULT "John Doe", shirt TEXT NOT NULL DEFAULT "Purple");', [], nullDataHandler, errorHandler);
      /* These insertions will be skipped if the table already exists. */
      transaction.executeSql('insert into people (name, shirt) VALUES ("Joe", "Green");', [], nullDataHandler, errorHandler);
      transaction.executeSql('insert into people (name, shirt) VALUES ("Mark", "Blue");', [], nullDataHandler, errorHandler);
      transaction.executeSql('insert into people (name, shirt) VALUES ("Phil", "Orange");', [], nullDataHandler, errorHandler);
      transaction.executeSql('insert into people (name, shirt) VALUES ("jdoe", "Purple");', [], nullDataHandler, errorHandler);
    }
  );
}

function errorHandler(transaction, error) {
  // error.message is a human-readable string.
  // error.code is a numeric error code
  alert('Oops.  Error was ' + error.message + ' (Code ' + error.code + ')');

  // Handle errors here
  var we_think_this_error_is_fatal = true;
  if (we_think_this_error_is_fatal) return true;
  return false;
}

var tempT, tempR;

function...