2017-03-01 19 views
0

データベースからデータを取得しようとしていますが、次のエラーが発生しました{message: 'SentClientRequestステートではなくLoggedInステートでのみリクエストできます'、 コード: 'EINVALIDSTATE'}。私は1つのクエリ関数を呼び出す場合、それは働いてではなく、複数のリクエストはSentClientRequestステートではなくLoggedInステートでのみ作成できます

については、以下の私は同じ問題を抱えていた私のコード

var connection = new Connection(config); 
connection.on('connect', function(err) { 
// If no error, then good to proceed. 
if(!err) 
{ 
    console.log("Connected"); 
    executeStatement(); 
    executeStatement2(); 
} 
else 
{ 
    console.log(err); 
} 
}); 

var Request = require('tedious').Request; 
var TYPES = require('tedious').TYPES; 

function executeStatement() { 
request = new Request("Select p.product_name, s.product_id, s.price, s.create_date, s.update_date from products p left join sale s on (p.id = s.product_id) order by CONVERT(datetime, s.update_date) desc ;", function(err) { 
    if (err) { 
     console.log(err);} 
}); 

request.on('row', function(columns) { 
     var rowObject ={}; 
     columns.forEach(function(column) { 
      rowObject[column.metadata.colName] = column.value; 
     }); 
     var jsonArray = []; 
     jsonArray.push(rowObject); 

}); 

connection.execSql(request); 
} 


function executeStatement2() { 
request = new Request("Select * from products ;", function(err) { 
    if (err) { 
     console.log(err); 
    } 
}); 

request.on('row', function(columns) { 
    var rowObject ={}; 
    columns.forEach(function(column) { 
     rowObject[column.metadata.colName] = column.value; 
    }); 
    var jsonArray2 = []; 
    jsonArray2.push(rowObject); 

}); 
connection.execSql(request); 
} 
+0

VAR接続=新しい接続(設定):ソリューションは、それがこの問題に記載されている1つのクエリ要求と

request.on('requestCompleted', function() { // Next SQL statement. });

から使用していますデータベース –

答えて

0

です。 2つの異なるクエリ要求を実行することはできません。 ; configがに接続するための有効なユーザー名とパスワードのプロパティが含まれている必要があり https://github.com/tediousjs/tedious/issues/458

関連する問題