我正在開發一個使用Node JS服務器和firebird數據庫的Cordova應用程序。 存在兩個數據庫,我可以通過isql-fb連接它。連接已創建但未找到
當我通過手機創建第一個連接時,連接工作,以及在此連接上完成的查詢。
但是,當我創建第二個連接時,它不起作用。
這是我的代碼:
連接表,該表重新組合的連接爲[ 「用戶名」,Connexion公司]表
var connectionTable = [];
功能連接到數據庫,並增加了在connectionTable的連接:
function connectionToDB(username, password, dbAddress){
var con = fb.createConnection();
con.connectSync(dbAddress, username, password, '');
var newConnection = [username, con];
connectionTable.push(newConnection);
console.log('connection finished'); //it is displayed for both connections so I think it works
};
函數通過輸入的用戶名返回想要的連接:
function getConnection(username){
for(x in connectionTable){
if(connectionTable[x][0]==username) {
return connectionTable[x][1];
}
else {console.log("No connection found with username : " + username); return 0;}
}
};
然後,我的節點JS服務器上,我有這樣的「路線」:
app.get('/checkAccount/:username', function(req, res){
console.log("checkAccount avant body");
console.log(req.params);
var usernameAsking = req.params.username;
console.log("usernameAsking = " + usernameAsking); //returns username in both cases
var connexionLinked = getConnection(usernameAsking);
console.log(typeof connexionLinked);
console.log(connexionLinked);
if(connexionLinked == 0) console.log("Problem. No linked connexion found");
else console.log("connexion found");
var query = connexionLinked.querySync("SELECT * from shops");
var rows = query.fetchSync('all', true);
console.log(sys.inspect(rows));
var shopNameString = JSON.stringify(rows);
console.log("string : " + shopNameString);
res.send(shopNameString);
});
所以對於做數據庫中的第一個連接,它工作得很好,並不會返回我的重視數據庫。
但是,它不適用於第二個不同的連接,它表示它等於0,所以我認爲它沒有在GetConnection中找到它。
我不明白爲什麼它適用於一個,而不是另一個......我也試圖早些時候連接到幾個不同的連接,而不是這個過程,它的工作原理。所以問題不是我們不能在同一個NodeJS服務器上有多個連接,但是在這種情況下,我們找不到明顯的好連接...
有人知道我在做什麼錯嗎?
任何幫助將非常感激,謝謝。
- 編輯 -
的連接工作這種方式。錯誤發生在getConnection(用戶名)的for循環中。如果有人試圖做一個連接表,我會在這裏發表這篇文章。
謝謝大家。
所以你的''usernameAsking是正確的(存在數組中)和你的2個數量級顯示「數字」和「0」? – Kaddath
是的,這裏是控制檯顯示:在兩種情況下: –
第一:checkAccount前衛體 {用戶名: '芭芭拉'} usernameAsking = BARBARA 對象 連接{inAsyncCall:假的,在inTransaction:假的,連:真正} Connexion公司發現 [{顯示/ *正確的數據* /}] 字符串:[{/ *正確的數據也* /}] checkAccount結束 –