2013-10-05 3 views
0

Voici le code que je l'ai utilisé pour stocker et base de données l'initialiser en application PhoneGap 2.9.0erreur de stockage Phonegap

var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000); 
db.transaction(populateDB, errorCB, successCB); 

function populateDB(tx) 
{ 
    tx.executeSql('DROP TABLE IF EXISTS DEMO'); 
    tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)'); 
    tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")'); 
    tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")'); 
} 

    function successCB() 
    { 
    alert("Sucesss") 
    var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000);    
    db.transaction(queryDB, errorCBs); 
    } 

    function queryDB(tx) 
    { 
    tx.executeSql('SELECT * FROM DEMO', [],errorCB, querySuccess); 
    } 

    function querySuccess(tx, results) 
    { 
    alert("Insert ID = ",results.insertId); 
    alert("Rows Affected = ",results.rowAffected); 
    alert("Insert ID = ",results.rows.length); 
    } 
    function errorCBs(err) 
    { 
    alert("2nd error ",err.code); 
    } 
    function errorCB(err) 
    { 
    alert("Error processing SQL: ",err.code); 
    } 

Lorsque l'application appelle

db.transaction(populateDB, errorCB, successCB); 

ses spectacles l'alerte pour successCB premier au prochain il montre l'erreur d'alerteCB. Quel est le problème avec mon code.please m'aider à résoudre

Répondre

0

Vous n'avez pas besoin d'ouvrir la base de données deux fois.

Retirez la partie:

var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000);    

de la fonction successCB.