2

node.js と npm install sqlite3 (https://github.com/developmentsseed/node-sqlite3/wiki/API) からインストールされた sqlite3 パッケージを使用しているときに、update ステートメントが成功したかどうかを確認する方法についてアドバイスをいただけないでしょうか。

更新を実行するために、次のことを行っています。

    var id = req.params.id;
    var thing = req.body;
    stmt = db.prepare("UPDATE FOO set name=?, year=? where id=?");
    stmt.bind(thing.name, thing.year, id);
    stmt.run(function(err, result) {
        if (err) {
            res.send(JSON.stringify(err));
            res.send({'error':'An error has occurred'});
        } else {
            if (result) {
                console.log('Success: ' + JSON.stringify(result));
            }
            res.send(JSON.stringify(wine));
        }
    });

ただし、結果は決して定義されません。

stmt.run() を stmt.all() に変更すると、結果が得られますが、空のように見えます - コンソールに出力しても何も表示されません。

4

2 に答える 2

3

は、クエリresultから返されたレコード用です。SELECT

UPDATEコマンドが失敗すると、err.

更新されたレコードの数を確認するには、 を参照してくださいchanges

于 2013-01-20T17:14:39.273 に答える