从Node.js连接到SQL Server

重构

我正在使用Node js和SQL Server 2008开发示例应用程序。

要从节点js访问SQL Server,请使用seriate [ http://developer.leankit.com/painless-sql-server-with-nodejs-and-seriate/]

下面是我的示例代码

文件./DBLayer/db.js代码

var sql = require("seriate");

var config = {
"server": "127.0.0.1",
"user": "sa",
"password": "12kafour~9999",
"database": "Tickets"
};

sql.setDefaultConfig( config );

exports.sqlDb = sql;

和文件app.js代码

var express = require('express');
var app = express();
var path = require('path');
var bodyParser = require('body-parser');
var sqlDb = require('./DBLayer/db.js');

//-- set the view engine
app.set('view engine' , 'ejs');

app.use( bodyParser.json() );       // to support JSON-encoded bodies

app.use(bodyParser.urlencoded({     // to support URL-encoded bodies ??
  extended: true
}));

//-- set the routes
app.get('/login' , function(req , res){
//-- set the view to render
res.render('login' , {title:'Login Screen' , error : ''});
});

app.post('/login' , function(req , res) {

 sqlDb.execute( {
      query: "SELECT count(*) FROM USERS WHERE LOGIN ='" + req.body.username   + "'" + "AND PASSWORD = '" + req.body.pwd + "'"
  } ).then( function( results ) {
      res.render('login' , {title:'Login Screen' , error : 'u r the one...'});
  }, function( err ) {
      res.render('login' , {title:'Login Screen' , error : 'Invalid Login/Password.'});
  });
});

 //-- set the port
 var server = app.listen(3000 , function() {
 console.log('Server Ready..')
 });

当用户输入用户名和密码并提交时,出现“ TypeError:sqlDb.execute不是函数”错误。

我不确定为什么会收到此错误。

阿米纳达夫(Aminadav Glickshtein)

您应该更改此行:

var sqlDb = require('./DBLayer/db.js');

var sqlDb = require('./DBLayer/db.js').sqlDb;

或更改此行:

exports.sqlDb = sql;

exports = sql;

说明:在Node中,当您这样做时:var sqlDb = require('./DBLayer/db.js'); 它使sqlDb成为exports对象。

因此,在您的代码中您拥有exports.sqlDb = sql编译器是正确的,导出没有执行功能。出口只有1 var ,exports.sqlDb


温馨提示:如果您确实希望代码能够正常工作,而无需进行任何更改app.js,则可以将其添加到模块的末尾:

exports.execute=function(){
    return sql.execute.call(sql,arguments)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章