0

こんにちは、私はノードjsとSQLサーバー内の1つのJSファイルで2つの選択を使用しようとしています。私はこれの構文を理解することができません。私はテーブルからすべての人を取得するためにselectが必要であり、テーブル内の人の総数を数える別の選択が必要です.1つのJSファイルに2つの選択を入れることが可能です。もしそうなら、誰かが私に構文を助けることができますか?ここで ノードJS複数選択

は、私が試したコードであり、「それらが送られた後、カントの設定、ヘッダー」

するvar SQL =必要(「MSSQL」)私はエラー を取得しています。 VAR DBCONFIG = {

server: "XXXXX", 
database: "XXXXX", 
user: "XXXXX", 
password: "XXXX", 
port: 1433 

}。 exports.list =関数(REQ、RES){

sql.connect(dbConfig, function (err) { 

    if (err) console.log(err); 

    var request = new sql.Request(); 

    request.query('select * from PERSON', function (err, recordset) { 

     if (err) 
      console.log(err) 
     else 
      console.log(recordset) 
      res.render('personinfo_itwx', { data: recordset }); 

    }); 

     request.query('select count(*) from PERSON', function (err, recordset) { 

     if (err) 
      console.log(err) 
     else 
      console.log(recordset1) 
      res.render('personinfo_itwx', { data: recordset1 }); 

}); 









}); 

}。

+0

単純に2つの非同期要求を行うことはできませんか?たとえば、非同期ライブラリを使用します。 https://github.com/caolan/async –

+0

こんにちはPatryk、 asyncを使用して構文を教えてもらえますか?私はnode.jsを初めて使用しているので、非同期を使用することはありません。 – Aditya

答えて

0

@Adityaあなたが必要とするものを達成するために、私は単に2つの異なるリクエストを行うだけですが、それを行うのが最良の方法であるかどうかはわかりません。私のコメントで私の言われたように、最も簡単な方法は、(例えば)asyncライブラリを使用することです。そしてここにあなたが求めている例があります。

警告:あなたはあなたがそれらを得れば、エラーや結果を操作したい場合、私は、

const async = require('async') 

// { 
    async.series([ 
    function(next) 
    { 
     new sql.Request() 
     .query('SELECT * from PERSON', next(err, resultList)) 
    }, 
    function(next) 
    { 
     new sql.Request() 
     .query('SELECT COUNT(*) from PERSON', next(err, count)) 
    } 
    ], (err, result) => 
    { 
    /* 
     err: String 
     - if any of the shown above return an error - whole chain will be canceled. 

     result: Array 
     - if both requests will be succesfull - you'll end up with an array of results 

     --- 

     Now you can render both results to your template at once 

    */ 
    }) 
// } 

確かにMySQLのドキュメントを見ていなかった - と遊ぶ、あなたは常に新しい機能にエラーと結果をプッシュすることができますあなたのデータを取得し、その後コールバックを返します。同様に:

function(next) 
{ 
    new sql.Request() 
    .query('SELECT * from PERSON', (err, resultList) => 
    { 
     if (err) 
     { 
     return next(err, null)    
     } 

     /* 
     data manipulation 
     */ 

     return next(null, resultList) 
    }) 
},