2017-10-02 1 views
1

Je travaille sur un projet ionic2 auquel les utilisateurs doivent d'abord se connecter pour avoir accès au système. Quand ils se connectent et son succès, puis poster leur nom d'utilisateur thier à une API différente pour obtenir une liste de toutes les entrées faites par eux, après quoi je veux insérer toutes les entrées renvoyées dans un SQL sql lite mais je trouve difficile à faireInsérer plusieurs données de retour de l'API http dans sql lite

userlogin(){ 

    let loader = this.LoadingController.create({ 
     content: 'Please Wait' 
     }); 
     loader.present().then(()=>{ 

    this.http.post("http://localhost/app/login.php", { 'username': this.username, 'password': this.password }).map(res => res.json()) .subscribe(data => { 

     if(data.message!="Incorrect Username or Password"){ 

    this.http.post("http://localhost/app/entries.php", { 'username': this.username}).map(res => res.json()) .subscribe(data => { 
     console.log(JSON.stringify(data)); 

     this.sqlite.create({ 
     name: 'entries.db', 
     location: 'default' 
     }) 
     .then((db: SQLiteObject) => { 
     //data insert section 
     db.executeSql('INSERT INTO entries_table(entry) VALUES(?)', 
     [this.data.entry]).then((data)=> { 

     }, (error) => { 

     }); 


     }) 
    }); 



    }else{ 

    if(data.message=="Incorrect Username or Password"){ 
     let alert = this.alertCtrl.create({ 
     title: 'Error!', 
     subTitle: 'Wrong Username or Password', 
     buttons: ['Try Again'] 
     }); 
     alert.present(); 
    } 
    } 
    loader.dismiss(); 
    }); 

    },error=>{ 
    let alert = this.alertCtrl.create({ 
     title: 'Error!', 
     subTitle: 'Please check your Internet Connectivity', 
     buttons: ['Try Again'] 
    }); 
    alert.present(); 
    }) 
    } 

Ouverture de session fonctionne très bien, mais le problème est d'insérer les multiples données renvoyées par l'API à la fois dans la db lite sql

Répondre

1

utilisation de stockage ionique et configurer le pilote à utiliser SQLite. alors il est simple

import { Storage } from '@ionic/storage'; 

export class MyApp { 
    constructor(private storage: Storage) { } 

    ... 

    // set a key/value 
    storage.set('entries', returnedEntryObject); 

    // Or to get a key/value pair 
    storage.get('entires') 
    .then((returnedEntryObject) => { 
     console.log('The user entries are', returnedEtnryObject); 
    }); 
} 

Vous pouvez consulter les détails sur ce indeep link.