node.jsにnode-postgresモジュールを使用していますが、データの挿入に問題があります。node-postgresはデータを挿入しませんが、エラーは発生しません
機能:
function addItems(listId, listItems, handle) {
if (!listItems) {
handle(listId);
return;
}
var client = dbConnector.getClient(),
important,
dateArray,
dateString,
i,
prepStatement;
client.connect();
for (i in listItems) {
console.log(listItems[i]);
dateArray = listItems[i].itemdate.split('-');
dateString = dateArray[1] + '-' + dateArray[0] + '-' + dateArray[2];
if (listItems[i].important) {
important = 'true';
} else {
important = 'false';
}
prepStatement = {
name: 'insert task',
text: 'INSERT INTO listitem (todolist_id, name, deadline, description, important, done, created) VALUES ($1, $2, $3, $4, $5, $6, now()) RETURNING listitem_id',
values: [ listId, listItems[i].itemname, dateString, listItems[i].itemdesc, important, listItems[i].done ]
};
var query = client.query(prepStatement);
console.log("Adding item " + i);
query.on('error', function(error) {
console.log(error);
});
query.on('end', function(result) {
console.log("Query ended");
if (result) {
console.log("Added listitem no " + result.rows[0].listitem_id);
}
});
}
client.end();
handle(listId);
}
新しいデータがデータベースに表示されます。 query.on('error')
とquery.on('end')
イベントは発生しません。それを考えてみると、クエリがトリガされたかどうか疑問に思っています。私が手
唯一のログは次のとおりです。
{ itemname: 'Task 1',
itemdate: '08-05-2012',
important: 'on',
itemdesc: 'A task',
done: 'false' }
Adding item 0
{ itemname: 'Task 2',
itemdate: '22-05-2012',
important: 'on',
itemdesc: 'Another one',
done: 'false' }
Adding item 1
それでは、どのように私はこれをデバッグする際に進むべき?
私はasyncモジュールを使いました。うまく動作する(奇妙なことは、それが質問に実装されたようにある時点で正常に動作したということです)。 – j0ntech