2016-11-16 8 views
0

私たちはIonic 2(現在はベータ11)を構築しています。iOS Ionic 2アプリはSqlStorageから読み取れません

組み込みのSqlStorageデータベースを使用しています。 Androidから私たちのアプリはデートを読み書きできますが、iOSではデータの書き込みしかできません。データを読み込もうとすると、返される行の数が実際のデータのどれも取得されません。

getQueueItems(): Promise<any> { 
return new Promise<any>((resolve, reject) => { 
    this.sql.query('SELECT * FROM queue').then(
    (res) => { 
     console.log(res, 'result'); 
     // resolve(sqlResult.res.rows); 
    } 
    ); 
}).catch(() => { 

}); 

}

結果セットは次のようになります。

{ 
"tx": { 
    "db": { 
     "openargs": { 
      "name":"__ionicstorage", 
      "location":2, 
      "createFromLocation":0, 
      "backupFlag":2, 
      "existingDatabase":false, 
      "dblocation":"nosync" 
     }, 
    "dbname":"__ionicstorage" 
    }, 
    "txlock":true, 
    "readOnly":false, 
    "executes":[], 
    "finalized":true 
}, 
"res": { 
    "rows": { 
     "length":3 
    }, 
    "rowsAffected":0 
} 
} 

は、iOSがデータを取得するように、我々はSqlStorageから読み取ることができますどのように誰もが知っていますか?

答えて

0

私は最終的に答えを見つけました。私は将来のサーチャーのためにここに掲示しています、うまくいけばそれはあなたを助けるでしょう。

すべてのプラットフォームでクエリ結果を使用できるようにするためには、結果セットを繰り返し処理して、適切なオブジェクトを追加する必要があります。

this.sql.query('SELECT * FROM queue').then(
    (sqlResult) => { 
     let queueItems = []; 
     for(let i = 0; i < sqlResult.res.rows.length; i++){ 
     queueItems.push(sqlResult.res.rows.item(i)); 
     } 
     resolve(queueItems); 
    } 
    ); 
関連する問題