iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 20
0
Modern Web

Node.JS - 30 天入門學習筆記系列 第 20

Day20 - Jade樣版與資料庫應用-以MS-SQL為例

今天,來到鐵人賽的第二十天。
賽程也將剩下1/3。
不多說了,趕緊來看看吧!

綜合前面的應用,我們學會了:
如何進入MS-SQL擷取資料如何進入MongoDB擷取資料,並且在上一篇學會了如何使用Jade樣版引擎將template轉成Html呈現在Browser中。
現在我們可以利用上述,進入資料庫取得資料,並且使用樣版引擎,將資料呈現出來。

以MS-SQL為例

首先,我們先回顧,之前在如何進入MS-SQL擷取資料,最後擷取出的資料是一個陣列,如圖:
http://ithelp.ithome.com.tw/upload/images/20161220/20103526Ss2WDs5kiI.png
現在,我們根據這個結果,想要以條列式的方式列出每筆 StudentName

我們根據 jade-syntax-docs 找到最適合的 jade語法 for & each
這個網站裡,可以對資料,做一個簡單的測試:
http://ithelp.ithome.com.tw/upload/images/20161220/20103526OpNt04SRWM.png
之後,就可以根據測試原則,建立我們所要的jade 樣版。

建立樣版

stuTp.jade

doctype html
html
head
title=title
body
    h1 Student List using Jade engine
 
    ul
        each item in studentList
            li=item.StudentName

連接MS-SQL,在express執行樣版編繹,呈現資料

我們修改如何進入MS-SQL擷取資料StuServer.js,設定view engine及views,及將其sql執行查詢結果的 recordset陣列 轉成 studentList物件 給render進行編繹,將結果回傳至瀏覽器。

StujadeServer.js

var express=require('express');
var app=express();
 
//set view engine
app.set("view engine","jade")
//set view directory
app.set("views","MyViews")
 
app.get('/',function(req,res){
    var sql=require('mssql');
    //config for your database
    var config={
        user:'sa',
        password:'mmiosdfek',
        server:'localhost\\SQLEXPRESS',
        database:'SchoolDB'
    };
    //connect to your database
    sql.connect(config,function (err) {
        if(err) console.log(err);
        //create Request object
        var request=new sql.Request();
        request.query('select * from Student',function(err,recordset){
            if(err)
                console.log(err);
            else
              res.render('stuTp',{studentList:recordset});
        });
    });
 
});
 
var server=app.listen(3000,function(){
    console.log('Server is running!');
});

執行node 以上程式,並且在瀏覽器看到結果:
http://ithelp.ithome.com.tw/upload/images/20161220/20103526epWZrVdgri.png

以上是將 MS-SQL資料,取出,並使用樣版做資料的呈現。
明天,我們也將 把MongoDB的資料取出,做同樣的事情,有興趣的,可以先預習實作喔。


上一篇
Day19 - 樣版引擎及Jade 樣版引擎的安裝與使用
下一篇
Day21 - Jade樣版與資料庫應用-以MongoDB為例
系列文
Node.JS - 30 天入門學習筆記32

尚未有邦友留言

立即登入留言