const mssql = reqiure('mssql') class DB { // 构造函数(链接数据库) constructor() { // 链接池 let pool = mssql.createPool({ server:'CRMTEST', user:'sa', password:'Servo01', database:'demo' }) // 连接数据库 pool.getConnection((err, connection)=>{ if (err) { // 连接失败 console.log(err); } else { // 连接成功 this.con = connection } }) } // 增删改查 query(sql){ return new Promise((resolve,reject) => { this.con.query(sql,(err,result) => { if(err) { reject(err) } else { resolve(result) } }) }) } } module.exports = new DB()这些代码能够与sql sever连接吗
时间: 2024-02-10 21:25:12 浏览: 82
这段代码似乎是基于Node.js中的mssql库创建了一个DB类,并在构造函数中尝试与SQL Server建立连接。然后,它提供了一个query方法来执行SQL查询。
然而,这段代码中存在一些问题。首先,正确的语法应该是`require`而不是`reqiure`。此外,`this.con.query`是无效的,因为mssql库没有提供名为`query`的方法。
以下是修正后的代码示例,可以与SQL Server建立连接:
```javascript
const mssql = require('mssql');
class DB {
constructor() {
const config = {
server: 'CRMTEST',
user: 'sa',
password: 'Servo01',
database: 'demo'
};
this.pool = new mssql.ConnectionPool(config);
this.pool.connect((err) => {
if (err) {
console.log(err);
} else {
console.log('Connected to SQL Server');
}
});
}
query(sql) {
return new Promise((resolve, reject) => {
this.pool.request().query(sql, (err, result) => {
if (err) {
reject(err);
} else {
resolve(result.recordset);
}
});
});
}
}
module.exports = new DB();
```
在这个修正后的代码中,使用了正确的`require`语法导入了mssql库,并使用新的ConnectionPool对象来建立与SQL Server的连接。在构造函数中,我们检查连接是否成功,并将连接池存储在this.pool属性中。
query方法使用连接池的request().query()函数来执行SQL查询,并通过Promise返回结果。
请注意,这只是一个示例,具体实现可能会因您的环境和需求而有所不同。在使用前,请确保已正确安装mssql库,并根据需要进行适当的配置和调整。
阅读全文