1
我想使用node.js連接到MS SQL Server數據庫。我安裝了msnodesql模塊以用於此任務。我可以用下面的代碼連接到DB:但使用node.js +函數連接到MS SQL數據庫()
var sql = require('msnodesql');
var util = require('util');
//
var connStr = "Driver={SQL Server Native Client 11.0};Server=myySqlDb,1433;Database=DB;UID=Henry;PWD=cat;";
var query = "SELECT * FROM GAData WHERE TestID = 17";
sql.open(connStr, function(err,conn){
if(err){
return console.error("Could not connect to sql: ", err);
}
conn.query(query,function(err,results){
if (err){
return console.error("Error running query: ", err);
}
console.log(results);
console.log(results.length);
for (var i = 0; i <= results.length; i++){
util.inspect(results[i]);
}
});
});
我的目標是在各種事件,比如按鈕提交連接到數據庫,從一個HTML頁面。在按鈕點擊我要調用一個函數的Node.js來查詢數據庫的特定屬性,如以下幾點:
從HTML:
<br /><button type="submit" id="continue" onClick="verifyEmail($('#email').val())">Continue</button>
從腳本文件:
function verifyEmail(email){
var mQuery = "'EXEC WebUserRecovery '" + email + "'";
sql.open(conn_str, function (err, conn) {
if (err) {
console.log("Error opening the connection!\r\n" + err);
return;
}
connection.query(mQuery,function(err,results){
if (err){
return console.error("Error running query: ", err);
}
alert(results);
});
});
}
將代碼放入函數時不起作用,數據庫連接不成功。任何人都可以建議如何解決這個問題?很少有良好的文檔上msnodesql有...
你似乎試圖從瀏覽器發出一個sql連接和sql查詢,這是不可能的AFAIK。 verifyEmail應該發出一個ajax請求,由節點處理以執行sql查詢並返回一些(json)結果。 – jbl
你能告訴我們'verifyEmail()'在客戶端還是在node.js服務器上執行? –
@jbl,這是有道理的。我會研究如何設計。 – gjw80