Node.js 使用nodejs将数据库(sql server)中的数据保存到全局变量中
我试图将数据库中的数据保存到一个全局变量中,以便在其他脚本中使用它 我正在使用sqlServer和nodejsNode.js 使用nodejs将数据库(sql server)中的数据保存到全局变量中,node.js,Node.js,我试图将数据库中的数据保存到一个全局变量中,以便在其他脚本中使用它 我正在使用sqlServer和nodejs var sql = require("mssql"); const config = { server : "", database : "", user : "", password : "", }; var table = []; function getCord() { // Create instence of connectio
var sql = require("mssql");
const config = {
server : "",
database : "",
user : "",
password : "",
};
var table = [];
function getCord() {
// Create instence of connection
var conn = new sql.ConnectionPool(config);
var req = new sql.Request(conn);
// Connecting to database
conn.connect(function(err){
if(err){
console.log(err);
return;
}
// Getting result
var queryString = "SELECT * FROM XXXX";
req.query(queryString, function(err, recordset){
if(err){
console.log(err)enter code here;
return;
}
else{
//console.log(JSON.stringify(recordset));
table = recordset;
}
conn.close();
});
});
console.log(JSON.stringify(table));
}
getCord();
这就是我得到的结果
C:\Users\Lara\Desktop\soap\u examp\nodejs>node connect.js
[]您已经创建了一个同步函数,并且对数据库的查询是异步的。因此,当发出
console.log
时,您的请求查询仍处于挂起状态。你可以这样做
function getCord() {
return new Promise((resolve, reject) => {
// Create instence of connection
var conn = new sql.ConnectionPool(config);
var req = new sql.Request(conn);
// Connecting to database
conn.connect(function(err){
if(err){
console.log(err);
return;
}
// Getting result
var queryString = "SELECT * FROM XXXX";
req.query(queryString, function(err, recordset){
if(err){
console.log(err)enter code here;
return;
}
else{
//console.log(JSON.stringify(recordset));
table = recordset;
}
conn.close();
resolve(true);
});
});
});
}
getCord().then(() => console.log(table));
您已经创建了一个同步函数,并且对数据库的查询是异步的。因此,当发出
console.log
时,您的请求查询仍处于挂起状态。你可以这样做
function getCord() {
return new Promise((resolve, reject) => {
// Create instence of connection
var conn = new sql.ConnectionPool(config);
var req = new sql.Request(conn);
// Connecting to database
conn.connect(function(err){
if(err){
console.log(err);
return;
}
// Getting result
var queryString = "SELECT * FROM XXXX";
req.query(queryString, function(err, recordset){
if(err){
console.log(err)enter code here;
return;
}
else{
//console.log(JSON.stringify(recordset));
table = recordset;
}
conn.close();
resolve(true);
});
});
});
}
getCord().then(() => console.log(table));
谢谢你的回答,你能告诉我如何在桌子上打圈吗?谢谢你的回答,你能告诉我如何在桌子上打圈吗?