2013年7月31日 星期三

JAVA程式撰寫格式規則

註解方式:

//這是單行註解

/*
    多行註解1
    多行註解2
    多行註解3
    多行註解4
*/


public class GetWebData3 //Class開頭大寫
{

    public  String getJson() //Method開頭小寫,如有兩個英文字組合,第二個英文字開頭大寫
    {       
        String webLine = "abcd";//Variable開頭小寫,如有兩個英文字組合,第二個英文字開頭大寫
    }
}



2013年7月22日 星期一

在ASP.NET中顯示由SQL產生的JSON格式

透過網頁的方式來傳遞資料給手機或平板等 ,大多使用JSON的格式,但是一般使用JSON都要經過層層轉換,在程式撰寫上不甚便利,經過多方嘗試,找出最便利且快速的方式來產生JSON資料串.

 由於只是單純呈現資料,不需版面等資料,所以新增一個泛型處理常式的頁面(ashx),在資料庫繫結的部分使用以下語法
 SELECT A,B,C,D   FROM TABLE_1 FOX  XML AUTO,ROOT('TABLE_1')
即可由資料庫產生XML的結構檔,資料庫版本需為MS SQL2005以上版本才有支援,
ROOT('TABLE_1')一定要加上,不然會有錯誤產生.

轉換JSON使用目前評價最好的JSON.NET,在VISUAL STUDIO中,使用NuGet找到JSON.NET套件,安裝完就可以使用,使用前先宣告進來

完整程式碼如下

<%@ WebHandler Language="C#" Class="prog" %>
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Xml;
using Newtonsoft.Json;

public class prog : IHttpHandler {
   
    public void ProcessRequest (HttpContext context) {    

        using (SqlConnection conn = new SqlConnection         (System.Web.Configuration.WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
        {
            conn.Open();
            SqlCommand cmd1 = new SqlCommand("SELECT A,B,C,D   FROM TABLE_1 FOX  XML AUTO,ROOT('TABLE_1')", conn);          
          
            XmlDocument xDoc = new XmlDocument();
            xDoc.Load(cmd1.ExecuteXmlReader());                  
            string json = JsonConvert.SerializeXmlNode(xDoc);
            context.Response.ContentType = "text/plain";
            context.Response.Write(json);
        }
       
       
    }

    public bool IsReusable {
        get {
            return false;
        }
    }
}