2016-05-11 6 views
0

Ich habe eine einfache Anwendung mit Apache Cordova, ich versuche, Daten in sqlite mit der Option zu speichern, aber Fehler, kann nicht auf SQLite speichern und mit jquery Mobile.Kann nicht sqlite mit Select-Option in Cordova einfügen

Das ist mein Skript

HTML

<input type="text" id="name" placeholder="Name book" /> 
    <select name="year"> 
     <option value="0">Year Publish</option> 
     <option value="2011">2011</option> 
     <option value="2012">2012</option> 
     <option value="2013">2013</option> 
     <option value="2014">2014</option> 
     <option value="2015">2015</option> 
     <option value="2016">2016</option> 
    </select> 

JS

document.addEventListener("deviceready", onDeviceReady, false); 

    function insertDB(tx) { 
     tx.executeSql('INSERT INTO BUKU (name,jilid) VALUES ("' +document.getElementById("name").value 
         +'","'+document.getElementById("jilid").value+'")'); 
     } 

    function goInsert() { 
      var db = window.openDatabase("Database", "1.0", "Cordova Buku", 200000); 
      db.transaction(insertDB, errorCB, successCB); 
     } 
function populateDB(tx) { 
     tx.executeSql('CREATE TABLE IF NOT EXISTS BUKU (id INTEGER PRIMARY KEY AUTOINCREMENT, name,jilid)'); 
    } 

function errorCB(err) { 
     alert("Error processing SQL: "+err.code); 
    } 

function successCB() { 
     var db = window.openDatabase("Database", "1.0", "Cordova Buku", 200000); 
      db.transaction(queryDB, errorCB); 
    } 

function onDeviceReady() { 
     var db = window.openDatabase("Database", "1.0", "Cordova Buku", 200000); 
      db.transaction(populateDB, errorCB, successCB); 
    } 
+0

Verwenden Sie den Browser sqlite oder das Cordova-Plugin? Sind die Tische gut angelegt? Ist die Datenbank geöffnet? Sende mehr Infos. Auch die Auswahl ist nirgendwo in der JS – Del

+0

dank @Del referenziert, ja, ich benutze Cordova-Plugin-sqlite, und zeigt es auf der Tabelle und offene Datenbank. –

Antwort

0

vielleicht das Problem die Datentypen sind, versuchen Sie die Tabelle wie folgt zu erstellen:

CREATE TABLE IF NOT EXISTS BUKU (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT,jilid TEXT) 

Auch die Ausführungsfunktion sollte so sein, um Injektion zu verhindern, und Probleme mit Anführungszeichen

tx.executeSql('INSERT INTO BUKU (name,jilid) VALUES (?,?)', [document.getElementById("name").value, document.getElementById("jilid").value]); 
Verwandte Themen