2016-04-22 22 views
2

私はionicに新しいです。リモートサーバから来ているSQLiteにデータを追加したいと思います。私は正常にデータをlist.sosoに格納することができますどのように私はこのデータをsqliteに格納することができます。ここに私のコードです。このデータをクエリに渡すにはどうすればよいですか。これはできません。ionicを使用してSQLiteにデータを挿入する方法

service.js

angular.module('starter.service',[]). 
    factory('userServices',['$http',function($http){ 
    var users = []; 

    return { 
     get: function(){ 
     return $http.get("http://xxxxxxxxx-info").then(function(response){ 
      users = response.data; 

      return users; 

     }); 
     }, 
     remove:function(content){ 
     users.splice(users.indexOf(content),1); 
     }, 
     getUser:function(chatId) 
     { 
     for(var i=0; i<users.length;i++){ 
      if(users[i].content_id === parseInt(chatId)){ 
      return users[i]; 

      } 
     } 
     return null; 
     } 
    } 
    }]); 

controller.jsあなたはデシベルを定義しなかった

angular.module('shoppingPad.controller', []) 


     .controller('ChatCtrl', function ($scope, userServices, $ionicModal, $cordovaSQLite) { 
     console.log('inside controller'); 
     userServices.get().then(function (users) { 
      //users is an array of user objects 
      $scope.contents = users; 
      console.log($scope.contents); 
      var query = "INSERT INTO content (content_id, display_name) VALUES (?,?)"; 
      $cordovaSQLite.execute(db, query, [users.content_id, users.display_name]).then(function (res) { 
      alert(res); 
      alert('Inserted'); 
      }, function (e) { 
      alert('Error:' + e.message); 
      }); 
     }); 

答えて

0

?デバイスが準備完了するまで待つ必要があります。

$ionicPlatform.ready(function() { 
    var db = $cordovaSQLite.openDB({ name: "my.db" }); 

    // just first time you need to define content table 
    $cordovaSQLite.execute(db,"CREATE TABLE content (content_id integer, display_name text)"); 

    userServices.get().then(function (users) { 
      //users is an array of user objects 
      $scope.contents = users; 
      console.log($scope.contents); 
      var query = "INSERT INTO content (content_id, display_name) VALUES (?,?)"; 
      $cordovaSQLite.execute(db, query, [users.content_id, users.display_name]).then(function (res) { 
      alert(res); 
      alert('Inserted'); 
      }, function (e) { 
      alert('Error:' + e.message); 
      }); 
    }); 
}); 

は、オブジェクトのユーザーが

{ 
    "content_id":12, 
    "display_name":"hello world" 
} 

のように見えるとusersが複数のエントリのように聞こえるので、

[ 
    { 
     "content_id":12, 
     "display_name":"hello world" 
    }, 
    { 
     "content_id":13, 
     "display_name":"stackoverflow" 
    }, 
    ... 
] 

私はただ聞いて好きではないことを、あなたはよろしいです。

+0

複数のエントリが含まれています – sharvari

+0

次に、1つのアイテムを1つずつループして、データベースに1つずつ追加する必要があります –

関連する問題