隨著Internet/intranet的發展多層應用和分布式瘦客戶數據庫應用程序逐漸得到廣泛應用在多層應用的開發方式中Delphi提供了Midas構件第三方提供了Asta Midware等經過使用相比較而言Asta所提供的構件易學易用方便靈巧客戶端程序無須任何數據庫引擎或動態連結庫即可方便的實現多層應用且客戶服務器可實現實時信息傳輸可以說Asta為普通程序員提供了無須專門培訓即可成為復雜多層應用程序開發高手的簡單途徑
. 認識Asta
象普通的Delphi構件一樣在Delphi環境下安裝Asta即可看到該頁標上有AstaClientSocket AstaClienDataset AstaServerSocket AstaDataSet 等構件其中關鍵是AstaClientSocket AstaClienDataset AstaServerSocket其中AstaClient由一個AstaClientSocket 和至少一個AstaClienDataset 組成AstaServer的核心是AstaServerSocketDatabase可以是現在流行的任何數據庫產品如Sybase Informix MSSQLserver等
. 如何實現多層應用
Asta本身帶有兩個例子服務器程序一個是BDEserver另一個是ODBCserver這兩個服務器程序設計的很完善稍加改造(漢化)即可直接使用我們使用BDE服務器 本例以Paradox本地數據庫為例說明如何開發客戶端軟件
. 運行BDE服務器程序出現數據連結窗口彈開組合框選擇別名BDEDEMOS確定
. 進入Delphi環境建立新應用netappdpr窗體上分別放置AstaClientSocketAstaClienDatasetAstaClientSocket的Adress屬性填入服務器程序所在機器的IP地址若服務器程序在同一台機器上則IP地址默認為Port屬性與服務器程序端口一致(若服務器程序未作改動此值為當然也可選用其他數值)AstaClienDataset的屬性與一般數據表Ttable相同首先選擇DataBasename屬性然後選取tablename最後把Active 設為true(相當於執行了SQL語句Select * from [tablename])本例中tablename選取employeedb
. 把結果表現出來
同一般數據庫應用程序一樣在窗體上放入Datasource其Dataset屬性設為AstaClientSocket放入DBGrid其Datasource設為 Datasource則簡單客戶程序就完成了
運行此程序即可看到數據表格此客戶端程序無須任何動態庫即可在客戶端運行是完全的瘦客戶需要注意的是AstaClientSocket的ConnectAction屬性有多種選擇分別規定了客戶端到服務器端的連結狀況大家可分別試試看有何結果至於安全性設置實時信息傳遞可參閱隨機幫助文件
From:http://tw.wingwit.com/Article/program/Delphi/201311/25082.html