javascript - 从 microsoft sql server 获取 json 数据并存储在变量中以在 vuejs v-for 属性中使用
问题描述
我正在开发一个完整的堆栈应用程序。我的前端开发已经准备好了。我正在使用 vuejs 在屏幕上显示数组。现在我需要使用 nodejs 从 sql server 获取该数组。我真的不了解异步函数、http 请求和大量基于服务器的知识。只是想得到一个没有任何知识探索的数组。
这是我的节点模块,用于获取数据或将数据插入 mssql 服务器。
var dbConfig = {
server: "localhost\\MSSQLSERVER",
database: "sample",
user: 'sa',
password:'deegii2001060108',
port: 1433
};
var result;
exports.dbcontext=function(engine, config){
const sql = require('mssql')
return new Promise(function(resolve, reject) {
var conn = sql.connect(config, function(err) {
if(err) {
reject(err);
} else {
sql.query(engine, function(err, recordsets,returnValue, affected) {
if(err) {
reject(error);
} else {
result = recordsets;
resolve(recordsets);
conn.close();
}
})
}
})
})
}
exports.dbcontext('select * from tblGender', dbConfig).then(recordset=>{console.log(recordset)});
console.log('result',result);
在控制台中:
result undefined
{
recordsets: [ [ [Object], [Object], [Object], [Object], [Object] ] ],
recordset:[
{ id: 1, gender: 'male' },
{ id: 2, gender: 'female' },
{ id: 3, gender: 'unknown' },
{ id: 4, gender: 'aertq' },
{ id: 5, gender: 'from vscode' } ],
output: {},
rowsAffected: [ 5 ] } //i wanted to store recordset into my global result var outside of function
}
exports.dbcontext(... //connection function
result = recordsets; /*the result variable is not changed but i want to
store recordsets in global variable outside of the function*/
...}
//Unexpected result:
console.log(result) // undefined
//Expected result:
console.log(result) // an array consists of objects
解决方案
var express = require('express'); var app = express();
var sql = require("mssql");
// config for your database
var config = {
user: 'sa',
password: 'deegii2001060108',
server: 'localhost\\MSSQLSERVER',
database: 'sample'
};
// connect to your database
sql.connect(config, function (err) {
if (err) console.log(err);
// create Request object
var request = new sql.Request();
// query to the database and get the records
request.query('select * from tblGender', function (err, result) {
if (err) console.log(err)
// send records as a response
console.log(JSON.stringify(result));
});
});
推荐阅读
- excel - 如何格式化图表组中所有图表中的字体
- bash - Bash,从带有参数的嵌套函数返回结果(1/0 错误/正常)
- r - 如何从文本文件列表中提取向量
- reactjs - 如何解决“[object] 上不存在属性 [propName]”
- python - 如何加载我们自己的数据集进行训练
- sql-server - SQL Server Data Tools 17.x 版可用于哪个版本的 Visual Studio?
- python-3.x - Pylint 抱怨功能报告
- javascript - 显示带有来自特定按钮的信息的模式
- java - java2smali 1.6 插件什么都不做
- linux - INITRAMFS_IMAGE_BUNDLE 上的 Yocto Warrior 和 SD 卡映像上的 Linux 内核映像