node.js從數(shù)據(jù)庫獲取數(shù)據(jù)

字號(hào):


    這篇文章主要為大家詳細(xì)介紹了node.js從數(shù)據(jù)庫獲取數(shù)據(jù)的具體代碼,nodejs可以獲取具體某張數(shù)據(jù)表信息,感興趣的朋友可以參考一下
    本文需要用node.js做一個(gè)從Sqlserver獲取數(shù)據(jù)并顯示到頁面上的小功能,下面就為大家分享:
    app.js:
    var sqlbll = require('./routes/sqlbll'); 
    ... 
    app.get('/sqlbll/:ver', function(req, res){ 
     var versionId=req.params.ver; 
     //sqlbll.getData是路由中獲取數(shù)據(jù)的方法, 
     //此處將第二個(gè)參數(shù)作為回調(diào)函數(shù)寫入。 
     sqlbll.getData(versionId,function(data){ 
    res.json(data);//發(fā)送json數(shù)據(jù) 
     }); 
    }); 
    //此處是路由文件 
    ====sqlbll.js==== 
    ... 
    exports.getData = function(ver,back){ 
     //...此處省略1000字獲取sql數(shù)據(jù)的方法 
     back(jsondata) 
    } 
    接下來就直接在頁面中使用get方式請(qǐng)求即可,當(dāng)然post方式也是類似原理。
    var express = require('express'); 
    var app = express(); 
    app.configure(function() {
     //默認(rèn)情況下Express并不知道該如何處理該請(qǐng)求體,因此我們需要增加bodyParser中間件,用于分析
     //application/x-www-form-urlencoded和application/json
     //請(qǐng)求體,并把變量存入req.body。我們可以像下面的樣子來“使用”中間件[這個(gè)保證POST能取到請(qǐng)求參數(shù)的值]:
     app.use(express.bodyParser());
    });
    //處理POST請(qǐng)求
    //name和email是POST請(qǐng)求域中的參數(shù)名
    app.post('/hello', function(req, res) {
    .......
    });
    還有我發(fā)現(xiàn)textarea控件在改變其text和html屬性的時(shí)候,value還保持原來的值, 
    這個(gè)特性讓我之前匪夷所思了好一陣子。
    下面就為大家分享另一個(gè)例子,nodejs獲取具體某張數(shù)據(jù)表信息,具體內(nèi)容如下
    var mysql = require('mysql');
    var conn = mysql.createConnection({
     host: 'localhost',
     user: 'root',
     password: '123456',
     database:'mysql',
     port: 3306
    });
    var tempArr = new Array(); 
    conn.connect();
    conn.query("show tables",function(err,results)
    {
     if(err)
     {
     throw err; 
     }
     if(results)
    { 
      for(var i = 0; i < results.length; i++)
     {
       tempArr[i] = results[i]; 
       var a = tempArr[i];
       console.log(typeof(results[i]));
       console.log(a); 
       var temp = "";
       temp+=a.Tables_in_mysql;
      console.log("temp"+i+" "+temp);
     conn.query("select * from"+ " "+ temp,function selectCb(err,result,fields){
      if(err)
       {
        throw err;
       }
         console.log("數(shù)據(jù)表:" + results[i]);
         console.log(fields);
          });
     }
    }  
    })
    以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。