我正在使用带有node.js的mssql连接到sql server db.我试图通过将连接代码包装在具有一个查询参数的函数中来减少代码.当我在router.get函数中调用函数时,它返回undefined.
任何帮助将非常感激.
function sqlCall(query) {
var connection = new sql.Connection(config, function(err) {
if (err) {
console.log("error1");
return;
}
var request = new sql.Request(connection); // or: var request = connection.request();
request.query(query, function(err, recordset) {
if (err) {
console.log("error2");
return;
}
return (recordset);
});
});
}Run Code Online (Sandbox Code Playgroud)
路由器代码
router.get('/', function(req, res) {
var queryString = "select * from .....";
res.json(sqlCall(queryString));
//sqlCall(queryString)
});Run Code Online (Sandbox Code Playgroud)
我在运行节点脚本以从 SQL Server 检索数据时遇到问题。似乎我得到了结果,但在查询运行后没有执行任何代码。这是我到目前为止的代码:
var config = {
user: 'blah',
password: 'blah',
server: 'blah',
database: 'blah'
};
sql.connect(config, err => {
if(err) { console.log(err); }
var request = new sql.Request();
request.query('select * from products', function(err, data){
console.log(data.recordset);
ProcessData(data.recordset);
});
});
sql.on('error', err => {
console.log(err);
});
function ProcessData(results){
for(var i; i < results.length - 1; i++){
console.log(results[i].sku);
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我在终端中看到了 console.log(data.recordset) 的结果,但我从未在终端中看到来自 ProcessData 函数的任何结果。有什么我遗漏的东西使我的代码无法正常运行吗?谢谢。
韦德
` request.input('xyz',sql.Int,1);
request.input('abc',sql.Numeric,2);
request.output('pqr',sql.Int);
request.output('def',sql.Char);
request.execute('[StoredProcedure]',function(err,recordsets,returnvalue){
next.ifError(err);
console.log(returnvalue);
})`
Run Code Online (Sandbox Code Playgroud)
现在的问题是我将如何访问输出参数.
问候.
我试图从mssql request.query过去记录集,就像一个返回值.遵循https://www.npmjs.com/package/mssql上的代码很容易使控制台输出,但是当我尝试将记录集设置为另一个变量时,它不起作用.我做错了什么?
var sql = require('mssql');
var config = {
user: 'sa',
password: 'XXXXXX',
server: '192.168.8.25',
database: '3TWIMDB',
}
var resultado='';
sql.connect(config, function(err){
var request = new sql.Request();
request.query('select 1 as VehiCLASS',function(err,recordset){
console.log(recordset[0].VehiCLASS);
resultado = recordset[0].VehiCLASS;
});
sql.close();
});
console.log("rsul: "+resultado);Run Code Online (Sandbox Code Playgroud)
谢谢.