gpt4 book ai didi

sql - Node js mssql 问题 - 改编 mysql 示例

转载 作者:太空宇宙 更新时间:2023-11-04 01:55:28 25 4
gpt4 key购买 nike

我正在尝试将这个mysql CRUD示例改编为mssql

http://teknosains.com/i/simple-crud-nodejs-mysql

这里是 git:

https://github.com/codetrash/nodecrud

我更改了此功能:

exports.list = function(req, res){

req.getConnection(function(err,connection){

var query = connection.query('SELECT * FROM customer',function(err,rows)
{

if(err)
console.log("Error Selecting : %s ",err );

res.render('customers',{page_title:"Customers - Node.js",data:rows});


});

//console.log(query.sql);
});

};

为此:

exports.list = function(req, res){

// req.getConnection(function(err,connection){
sql.connect(sqlConfig, function() {
var request = new sql.Request();
request.query('SELECT * FROM customer',function(err,rows)
{
console.log(rows);
if(err)
console.log("Error Selecting : %s ",err );

res.render('customers',{page_title:"customer - Node.js",data:rows});


});

//console.log(query.sql);
});
//sql.close();

};

我在控制台上获得了查询的输出,因此与数据库的连接和查询本身都很好,但它没有实现到 ejs 文件中。(链接到ejs:https://github.com/codetrash/nodecrud/blob/master/views/customers.ejs)

有什么区别?

最佳答案

mssql中,查询的回调不会直接返回行,而是返回一个对象。 内部该返回对象是数组记录集,其中包含您的行。

以下是 mssql documentation page 中的示例

request.query('select 1 as number; select 2 as number', (err, result) => {
// ... error checks

console.log(result.recordset[0].number) // return 1
console.log(result.recordsets[0][0].number) // return 1
console.log(result.recordsets[1][0].number) // return 2
})

(顺便说一下,在本例中 (err, result) => { }function(err, result) { } 相同)

注意!记录集和记录集之间的区别:如果您的查询调用多个select,则可以通过recordset[x]访问它们。但据我所知,recordset 始终是查询中第一个select的结果;您可以只使用 recordset 来获得更简洁的代码。

只需将您的代码更改为类似的内容

request.query('SELECT * FROM customer',function(err,result)
{
console.log(result);
if(err)
console.log("Error Selecting : %s ",err );

res.render('customers',{page_title:"customer - Node.js",data:result.recordset});


});

关于sql - Node js mssql 问题 - 改编 mysql 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48145700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com