2017-06-19 27 views
-1

私はSQLiteを使ってデータを格納しているIonic 3を使ってサンプルプログラムを作成しています。私は列と値を分割し、データベースにそれらの詳細を格納する共通の挿入クエリを使用しましたが、プログラムを実行しようとすると、それぞれのエラーデータが関数ではないことがわかります。 私は各ループで列と値を分割するのに使用しましたが、Ionic 1で同じものを使用しました - AngularJS JavaScriptはどこで動作しますか?誰でも次のコードで何が間違っているか教えてください。それぞれのデータは関数ではありません

insert(tblName, data) { 
console.log('insert function in db got called: ', data); 
this.columns = []; 
this.values = []; 
data.forEach(function (value, column) { 
    this.columns.push(column); 
    this.values.push(value); 
    console.log('columns', this.columns); 
    console.log('values', this.values); 
}); 
console.log('columns: ', this.columns); 
console.log('values: ', this.values); 
var question = (Array(this.columns.length + 1).join('?,')).slice(0, -1); 
return new Promise(resolve => { 
    var insertQuery = 'INSERT INTO ' + tblName + ' (' + this.columns.join(', ') + ') VALUES (' + question + ');'; 
    console.log('insertQuery: ', insertQuery); 
    this.db.executeSql(insertQuery, this.values, (r) => { 
    console.log('Inserted... Sucess..', this.values); 
    this 
     .getRows() 
     .then(s => { 
     resolve(true) 
     }); 
    }, e => { 
    console.log('Inserted Error', e); 
    resolve(false); 
    }) 
}) 
} 

エラーパート:すべての

data.forEach(function (value, column) { 
    this.columns.push(column); 
    this.values.push(value); 
    console.log('columns', this.columns); 
    console.log('values', this.values); 
}); 
+0

は、データが配列でありますか? –

+0

シンプルなデータは配列ではありません。 –

答えて

0

まず、それは型エラーである可能性があり、あなたはdataArrayであることを確信していますか? が真の場合の場合は、次のポイントに移動します。そうでない場合は、間違ったtsである間違ったjavascriptを書いているだけです。

事実は、Typescriptはあなたがどのような種類のパラメータを処理しているか知っていなければなりません。

insert(tblName, data) { 
    console.log('insert function in db got called: ', data); 

    this.columns = []; 
    this.values = []; 

    data.forEach(function (value, column) { 
    this.columns.push(column); 
    this.values.push(value); 

    console.log('columns', this.columns); 
    console.log('values', this.values); 
    }); 
} 

insertメソッドはどこに文書化されていますか? あなたはそれを編集できます。

insert(tbName: string, data: any[]) {} 
関連する問題