註解方式:
//這是單行註解
/*
多行註解1
多行註解2
多行註解3
多行註解4
*/
public class GetWebData3 //Class開頭大寫
{
public String getJson() //Method開頭小寫,如有兩個英文字組合,第二個英文字開頭大寫
{
String webLine = "abcd";//Variable開頭小寫,如有兩個英文字組合,第二個英文字開頭大寫
}
}
2013年7月31日 星期三
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;
}
}
}
由於只是單純呈現資料,不需版面等資料,所以新增一個泛型處理常式的頁面(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;
}
}
}
訂閱:
文章 (Atom)