私はnode.jsとpostgresqlが初めてです。すでに postgres db に接続されており、いくつかのテスト コードを実行しています。その後、プリペアード ステートメントを使用します。サンプルのログイン スクリプトを作成します。ユーザーが存在する場合はユーザー名を返し、それ以外の場合は「無効なユーザー名またはパスワード」というメッセージを返します。ユーザー名とパスワードが正しければ、ユーザー名を返します。しかし、データは表示されず、メッセージを返すことができませんでした。私の意見は、cliend.end()関数を実行した後にコントロールがクラッシュするということです。
これは私のコードです
UserLogin.get = function(userName, callBack) {
pg.connect(pgConString, function(err, client, done) {
if (err) {
callBack("DB connection failed. " + err, null);
return;
}
var selectQuery="SELECT * from " + TABLE + " WHERE userName=($1)";
var query=client.query({
text:selectQuery,
values:[userName],
name:"selectQuery"});
query.on("error", function (error) {
callBack("DB fetch failed. Error Message: " + err, null);});
query.on('row', function(row) {
callBack(null, row);});
query.on("end", function (result) {
client.end();
return;
});
});
}
行が空の場合、コールバックに戻りません。row_result が空でない場合、正常に動作します..どのように...???? 何か案が...???