我从sql数据库中获取记录(apx 50行)时遇到错误。我的应用程序是在带有express的nodejs中开发的。
var common = require(__base + 'routes/common.js');
var dbhelper = require(__base + 'routes/dbhelper.js');
exports.GetStates = function (callback) {
dbhelper.pool.getConnection(function (err, connection) {
// Use the connection
connection.query('CALL GetStates()',
function (err, res) {
connection.release();
if (err) {
common.ActionOutput.Status = common.ActionStatus.Error;
common.ActionOutput.Message = 'System Error: ' + err.message;
} else {
common.ActionOutput.Status = common.ActionStatus.Success;
common.ActionOutput.Result = res[0][0];
}
return callback(JSON.stringify(common.ActionOutput));
});
});
};
dbhelper.js is
// Database connection
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit: 10,
host: 'my ip',
user: 'user',
password: 'pass',,
database: 'ssdsdas'
});
exports.pool = pool;
答案 0 :(得分:0)
我遇到了相同的错误消息,但我们的问题可能会有所不同。最终,我的问题的原因是我的存储过程中的列名没有返回标记(`),导致它们被视为变量。
在我的存储过程体中添加返回刻度以修复列名称。