2016-04-21 9 views
1

Ich entwickle eine mobile Anwendung mit Ionic und SQLITE Datenbank. Ich möchte ein Szenario, in dem der gleiche Datensatz nicht zweimal für den Inventory-Vorgang eingefügt werden soll. Ich bin Überprüfung der Datenbank wie folgt:So erhalten Sie die Anzahl der Zeilen, die mit der in der SQLITE Ionic App angegebenen Bedingung übereinstimmen

var query = "SELECT COUNT(*) FROM productScan WHERE uniqueId = (?) AND sync = \'N\'"; 

    $cordovaSQLite.execute(db, query, [uniqueId]).then(function (res) { 
      alert(JSON.stringify(res)); 
    }, function (err) { 
      alert(JSON.stringify(err)); 
    }); 

, was hier geschehen ist, wenn ich die App zum ersten Mal installieren und dann nach Scanvorgang ausgeführt werden, wenn dieser Code Lauf für die Vervielfältigung zu überprüfen, es mir selbst folgende Ausgabe gibt allerdings Es gibt keinen Datensatz in der Datenbank

{"rows":{"length":1},""rowsAffected":0} 

Ich bin neu in Structured Query Language (SQL). Ich kann das Ergebnis hier nicht analysieren. Das Ergebnis kommt falsch. Muss die Abfrage umformatiert werden oder eine andere Möglichkeit, um das Ziel zu erreichen?

Danke für Ihre Zeit.

+1

Die Abfrage gibt eine einzelne Zeile zu erreichen. Lesen Sie diesen Wert einfach wie für eine normale Abfrage. –

Antwort

1

Irgendwie schaffte ich es auf eine andere Art und Weise mit einer einzigen Spalte

var query = "SELECT * FROM productScan WHERE uniqueId = (?) AND sync = \'N\'"; 
$cordovaSQLite.execute(db, query, [uniqueId]).then(function (res) { 
if (res.rows.length == 0) { 
//processed the operation 
}else{ 
alert('You have already scanned this asset!.'); 
} 
0
var query = "SELECT COUNT(*) FROM productScan WHERE uniqueId = (?) AND sync = \'N\'"; 

    $cordovaSQLite.execute(db, query, [uniqueId]).then(function (res) { 

      just parse the result,(json.parse(res)) and find by rowsAffected like 
      if(rowsAffected != 0) 
      { 
//just do the operation 
      } 
    else { 
    //terminate 
     } 
0

ich es auf diese Weise tun

JSON.stringify(data.rows.item(0)['COUNT(*)'])