Ciao, vorrei creare 3 tabelle del database, ho visto dalla documentazione che bisogna farlo con una sola transaction.
Ho questo codice, ma le tabelle nono vengono create.
Per verificare la creazione delle tabelle, richiamo il codice JavaScript in una pagina HTML, poi verifico nella cartella di Chrome, il file esiste ma le tabelle al suo interno non ci sono....grazie
codice:
var localDB = null;
function onInit(){
try {
if (!window.openDatabase) {
updateStatus("Err");
}
else {
initDB();
createTables();
}
}
catch (e) {
if (e == 2) {
updateStatus("Err");
}
else {
updateStatus("Erro: Erro desc " + e + ".");
}
return;
}
}
function initDB(){
var shortName = 'stuffDB';
var version = '1.0';
var displayName = 'MyStuffDB';
var maxSize = 65536; // Em bytes
localDB = window.openDatabase(shortName, version, displayName, maxSize);
}
function createTables(){
var sql = ["CREATE TABLE IF NOT EXISTS LEAD (ID VARCHAR(35) PRIMARY KEY NOT NULL, PROCESS VARCHAR (32), VERSION VARCHAR (8), CREATED_BY VARCHAR (128), CREATED_ON VARCHAR (32), RECIPIENT VARCHAR (32), STATUS VARCHAR (8))",
"CREATE TABLE IF NOT EXISTS DOCUMENT (ID INTEGER PRIMARY KEY AUTOINCREMENT, LEAD_ID VARCHAR(35) REFERENCES LEAD (ID) NOT NULL, NAME VARCHAR (255) NOT NULL, TYPE VARCHAR (32) NOT NULL, CONTENT BLOB NOT NULL, RETRY INTEGER NOT NULL, STATUS VARCHAR (8))",
"CREATE TABLE IF NOT EXISTS FUNDATA(ID INTEGER PRIMARY KEY AUTOINCREMENT, FUN_ID INTEGER REFERENCES LEAD (ID), NAME VARCHAR(128) NOT NULL, VALUE VARCHAR (255) NOT NULL)"];
for(var i=0; i<sql.length; i++){
try {
localDB.transaction(function(transaction){
transaction.executeSql(sql[i], [], nullDataHandler, errorHandler);
updateStatus(" OK.");
});
}
catch (e) {
//updateStatus("Erro: " + e + ".");
return;
}
}
}