angularjs
  • sqlite
  • cordova
  • 2015-09-27 67 views 0 likes 
    0

    我工作的一個PhoneGap的應用程序,都有以下代碼:sqlite的SELECT語句返回「undefind」

    db = window.openDatabase("AjansDB", "1.0", "Ajans app DB", 2*1024*1024); 
    //creation 
    db.transaction(function (tx) { 
        var sql='CREATE TABLE IF NOT EXISTS USER_DATA (user_id INTEGER PRIMARY KEY, user_name VARCHAR(20))' 
        tx.executeSql(sql); 
    }); 
    //insert 
    var sql="INSERT INTO USER_DATA (user_id,user_name) VALUES (?,?)"; 
    tx.executeSql(sql,[1,"admin"], successCB, errorCB); 
    

    現在,這裏的問題是:每次我從表中選擇的時間我可以檢索的ID,但不名字 !該ID將返回「1」,而名稱將返回「undefined」

    db.transaction(function (tx) { 
        tx.executeSql('SELECT * FROM USER_DATA', [], function (tx, results) { 
         alert(results.rows.item(0).user_name); 
        }); 
    }); 
    

    這是怎麼回事?

    PS:我不知道這是否會作出任何差別,但我使用的離子和angular.js

    +0

    首先,檢查數據庫是否正確填充了您期望的所有字段。 – dfsq

    +0

    @dfsq以及如何操作?我知道的唯一方法是通過選擇數據,並且存在我遇到問題的地方! – Zahema

    +0

    您可以在開發人員工具中查看資源。 – dfsq

    回答

    0

    我太專注於我錯過了一個JavaScript語法錯誤SQL錯誤。這裏是:

    var sql='CREATE TABLE IF NOT EXISTS USER_DATA (user_id INTEGER PRIMARY KEY, user_name VARCHAR(20))' 
    

    我錯過了一個「;」 ..分號。

    相關問題