var bindings = require(’./oracle_bindings’); //oracle_bindings是我在vs2012下编译出来的, var async = require(‘async’); //使用了node-oracle源代码,大家有没知道原因的 var oracle = new bindings.OracleClient();
async.waterfall( [
function ConnectDataBase(callback) {
oracle.connect({ "hostname": "localhost", "user": "his", "password": "his" }, function(err, connection) {
console.log("conneted")
callback(err,connection);
});
},
function DeleteData(connection,callback)
{
var self=this;
this.connection=connection;
self.connection.execute("select* FROM person WHERE NAME = (:1)", ['huangwei'],function(err, results) {
self.connection.setAutoCommit(true);
callback(err,results);
});
}
], function(err,results) { if(err) { throw err; } console.log(results);
} );
既然没报错信息,排除运行配置不当或程序代码出错的可能,最可能的情况就是没有数据就是正确的结果,即sql查询本身找不到一个符合条件的记录。
可能的话,检查下生成的最终查询sql语句;另外"select* FROM person WHERE NAME = (:1)", ['huangwei']
真的符合oracle_bindings的语法规范吗?(google不到oracle_bindings是什么玩意)
你在node-oracle-master目录下面可以找到一个lib目录,那里面有一个oracle.js内容是var bindings = require("…/build/Release/oracle_bindings"); var oracle = new bindings.OracleClient(); exports.connect = function(settings, callback) { oracle.connect(settings, callback); } exports.OutParam = bindings.OutParam; 实质上是要链接你所生成的库,至于这个库的名字可以是任意的