2017-06-22 1 views
0

Ich fragte mich, ob jemand etwas Licht auf meinen Code und warum es möglicherweise nicht funktioniert. Ich betreibe nodejs 6+ mit einem Elektronen Wrapper.Javascript Electron Sqlite einfügen

Abhängigkeiten für die SQLite sind „sqlite3“:. „^ 3.1.8

Ich leite die Daten in Zeilen ohne Probleme aufzulisten und anzuzeigen, sondern auf der Insert-Funktion oder Suchfunktion wird umfallen muss ich etwas falsch sein.

function insertNewVeh() { 
     db.all("INSERT INTO vehicles VALUES ('" + 
     document.getElementById('regNo').value + "','" + 
     document.getElementById('firstName').value + "','" + 
     document.getElementById('lastName').value + 
     "')", function(err, rows) { 
      console.log.msg; 
      }) 
     } 
insertNewVeh(); 


    function srchReg() { 
     var regNo = document.getElementById("regNo").value 
     db.all("SELECT ALL FROM VEHICLES WHERE regNo = " + regNo + ""), function(err, rows) { 
      var reg = document.getElementById("newVehicle").value 
      rows.forEach(function (row) { 
      console.log.msg; 
      document.getElementById('sReg').innerHTML = 
       "<div>Total</div>" 
       }) 
      }; 
     }; 
     srchReg(); 

und die Funktionen

function srchDiv() { 
    document.getElementById('rSrch').innerHTML = 
       "<form>" + 
       "<input type=\"search\" id=\regNo\" placeholder=\"What are you looking for?\">" + 
      "<button id=\"subSrch\">Search</button>" + 
       "</form>"; 
    document.getElementById('subSrch').addEventListener("click", function (e) { 
      srchReg(); 
     }); 
} 
srchDiv(); 

window.onload = function addVeh() { 
     document.getElementById('nVeh1').innerHTML = 
     "<form>" + 
       "<div class=\"row\">" + 
        "<label for=\"firstName\" id=\"firstName\">First Name</label>" + 
        "<input id=\"firstName\" name=\"firstName\" type=\"text\"/>" + 
       "</div>" + 
       "<div class=\"row\">" + 
        "<label for=\"lastName\" id=\"lastName\">Last Name</label>" + 
        "<input id=\"lastName\" name=\"lastName\" type=\"text\"/>" + 
       "</div>" + 
       "<div class=\"row\">" + 
        "<label for=\"address1\" id=\"address1\">Address 1</label>" + 
        "<input id=\"address1\" name=\"address1\" type=\"text\" />" + 
       "</div>" + 
       "<div class=\"row\">" + 
        "<label for=\"address2\" id=\"address2\">Address 2</label>" + 
        "<input id=\"address2\" name=\"address2\" type=\"text\"/>" + 
       "</div>" + 
       "<div class=\"row\">" + 
        "<label for=\"town\" id=\"town\">Town</label>" + 
        "<input id=\"town\" name=\"town\" type=\"text\"/>" + 
       "</div>" + 
       "<div class=\"row\">" + 
        "<label for=\"postcode\" id=\"postcode\">Post Code</label>" + 
        "<input id=\"postcode\" name=\"postcode\" type=\"text\"/>" + 
       "</div>" + 
       "<div class=\"row\">" + 
        "<label for=\"telephone\" id=\"telephone\">Telephone</label>" + 
        "<input id=\"telephone\" name=\"telephone\" type=\"tel\"/>" + 
       "</div>"; 
     document.getElementById('nVeh2').innerHTML = 
       "<div class=\"row\">" + 
        "<label for=\"regNo\" id=\"regNo\">regNo</label>" + 
        "<input id=\"regNo\" name=\"regNo\" type=\"text\"/>" + 
       "</div>" + 
       "<div class=\"row\">" + 
        "<button type=\"submit\" value=\"Add\" id=\"addV\"/>Add</button>" + 
       "</div>" + 
       "</form>"; 
     document.getElementById('addV').addEventListener("click", function (e) { 
      insertNewVeh(); 
      }); 
     } 
addVeh(); 

ich bin relativ sicher, dass es ein Syntaxfehler irgendwo, aber kann es nicht sehen, wie ich jav noch neu bin ein Skript. In beiden Funktionen funktioniert die Suche nicht, noch wird etwas in die Datenbank eingefügt.

+0

Gibt es irgendwelche Fehlermeldungen in Ihrer Javascript-Konsole? – rob

+0

Nein, wenn auf die Schaltfläche geklickt wird, sagt der Aufruf-Stack nur: Navigiert zu Datei: ///xxx/app/index.html? Es sieht also so aus, als würde es die Daten nicht analysieren. – Arktix

+0

Die andere habe ich leicht modifiziert, und es heißt das gleiche Navigiert zu Datei: ///xxx/app/index.html? Vorname = & Nachname = & Adresse1 = & Adresse2 = & Ort = & PLZ = & Telefon = & regNo = asdasd aber auf dieser Die Daten werden geparsered – Arktix

Antwort

0

Hinweis des 'return false', da Sie werden ein Formular abgeschickt

function insertNewVeh() { 
    const self = this 
    db.serialize(
     function() { 
      let stmnt = db.prepare('INSERT INTO vehicles VALUES (?, ?, ?)') 
      stmnt.run(document.getElementById('regNo').value, document.getElementById('firstName').value, document.getElementById('lastName').value, function() { 
       stmnt.finalize(function() { 
        // Here goes your callback, if you need one 
        // self.doSomeThing() 
       }) 
      }) 
     } 
    ) 
    return false 
} 
+0

Ich lerne, während ich mit ein wenig Versuch und Irrtum gehe. Ich werde meine Funktion ändern und sehen, was passiert. – Arktix