目前分類:How to Connect to a Database in XE2 @ iOS (6)

瀏覽方式: 標題列表 簡短摘要

  上次提到 Server 端無法接收到中文參數,原因在於 URL 的網址,按照規定只能出現部分 Ascii 碼,既然如此,直接把中文當成 URL 的一部份當然就會出問題啦。如果想要瞭解這部分更詳細的說明,我 google 了一下,建議可以參考中興大學資管系呂瑞麟老師的文章-細談URL 編碼

  所以我們需要調整的是 client 端的 URL 要先進行過 UTF-8 的編碼,如何做呢?其實很簡單,只要呼叫 HTTPEncode 與 UTF8Encode,就可以正確傳遞參數給 server 端了,如下

  iOSWithEncode1  

  server 端接收到參數的畫面

  iOSWithEncode2

文章標籤

縹緲 發表在 痞客邦 留言(2) 人氣()

  讓我們繼續擴展上次的程式,上次寫到呼叫 DataSnap 的 Sample function,要改成由 client 傳參數給 server 端,回傳資料庫中對應的資料,對熟悉 delphi 資料庫寫作的各位來說相信應該不是難事,讓我們先假設有一個 table 名為 employee,資料內容如下

  iOSWithDB1  

  假設我們的目標是,在 client 輸入 EmployeeID,然後傳給 DataSnap Server 查找到這筆員工資料,回傳符合條件的 FirstName 欄位,該怎麼做呢?

  是的,依據前一篇的文章依樣畫葫蘆,DataSnap Server 端新增一個 method ,source code 如下:

  iOSWithDB2  

文章標籤

縹緲 發表在 痞客邦 留言(0) 人氣()

  上次講過 DataSnap Server,接下來就是透過 http 的方式跟 DataSnap Server 搭上線,DataSnap Server 提供兩個 sample method,分別是 

    function EchoString(Value: string): string; 與
    function ReverseString(Value: string): string;

  透過之前提過 Phil Hess 發表過 ns_url_request.pas,來測試看看是否可以呼叫 DataSnap 這兩個 smaple mehod

  DataSnap Server 上次已經建立好了,接下來新增一個 FireMonkey HD iOS 的 Application,然後在 Form 各擺兩個 button & Edit,命名如下圖所示

文章標籤

縹緲 發表在 痞客邦 留言(0) 人氣()

    這次先講 DataSnap Server,其實之前已經有提過,沒有辦法透過資料庫元件直接連到後端資料庫,剩下的就只有利用 DataSnap Client 或走 Http 的 solution 的方式跟後端主機連線來獲得資料,前者要靠 Embarcadero 推出 DataSnap Client for iOS 的版本才有辦法達成,後者比較快的方式就是走目前業界流行的 RESTful solution。

    何謂 REST?我認為維基百科上就已經說的很清楚了...,可以參考看看

    http://zh.wikipedia.org/wiki/REST

    要完成 RESTful 的後端,利用 Delphi 來做真是簡單到一個不行,當然這是指陽春的版本,如果要做到控管連線數量、流量觀察等等,比較完整的主機管理程式當然那就另當別論…。要做一個陽春版的 RESTful Server,其實只要開啟 Delphi 專案,選擇 DataSnap REST Application,然後按照 Wizard 下一步下一步一直按就完成啦,夠簡單了吧。你可以參考之前提過的這篇文章,其中「Writing the DataSnap server」這個小節就是在講這部分,這裡就不一一貼圖了,完成後會有兩個 default 供你參考或測試用的方法,分別是 EchoString & ReverseString,所有都按照預設,則執行後的畫面會像這樣

    DataSnap Server 1  

文章標籤

縹緲 發表在 痞客邦 留言(2) 人氣()

     就目前我知道的 solution,大概有三種方式,分別敘述如下

  1.RealThinClient

     這是一個 3rd Party 的廠商,在 2011/11/11 的時候已經正式 release 他們的 product 支援 XE2 與 iOS 的程式撰寫,你可以到他們的官網看看這個 product 能做到哪些功能,看起來應該還蠻強大的,當然這是要花 $$ 的 solution,另外在這裡 http://www.youtube.com/watch?v=LPV4fWAw69g 有個 Video ,你可以看到用這個工具寫出來的程式實際執行狀況如何…

   2.DataSnap Client for iOS

      之前提過原本 Delphi XE2 是沒有辦法在 iOS 上使用 DataSnap 相關的 class 的,不過想必客戶反應這部分的聲音還蠻大的,所以 Embarcadero Developer Network 上,大約在

文章標籤

縹緲 發表在 痞客邦 留言(0) 人氣()

  在撰寫完成第一個 app之後,你有沒有想要馬上再寫個測試程式跟後端資料庫通上電呢?想必 Delphi 用很久的你一定馬上想到這點,畢竟會開始使用 Delphi,就是被它強大的資料庫連結與資料處理方式所吸引,在 iOS 的開發上這部分是否一樣強大呢?

  想像一下我們以前怎麼跟資料庫連上線的?

  1.透過 BDE

  2.透過 ClientDataSet,後端接 ADO、BDP、dbExpress

  3.其他 3rd Party 元件?

文章標籤

縹緲 發表在 痞客邦 留言(0) 人氣()