Web Application 開 發 利 器 - WebSnap(九)(4…

2008-04-10 02:58:01来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

PICTURE_NAME=TEST4.bmp&__id=ImageDB.DataSetAdapter1.PictureName" alt="">

我 們 利 用 了 這 個 參 數 迫 使 WebSnap 認 定 AdapterImageField 必 須 要 跟 著 DataSetAdapter 移 動 , 你 可 以 將 這 個 動 作 取 消 , 改 成 直 接 由 AdapterPicture 中 取 值 , 你 就 會 了 解 我 所 要 表 達 的 意 思 。 在 這 段 程 式 中 我 們 還 利 用 了 ValidateFile 事 件 來 判 別 檔 案 格 式 , 如 果 檔 案 格 式 不 符 的 話 , 我 們 就 引 發 一 個 例 外 , 這 個 例 外 的 訊 息 會 被 封 裝 到 Adapter.Errors 中 , 之 後 我 們 就 可 以 在 網 頁 中 顯 示 錯 誤 訊 息 , 這 個 程 式 中 我 利 用 了 一 個 新 的 Adapter 及 一 個 AdapterField , 並 在 HTML 中 加 入 以 下 的 Script 程 式 碼 :

<h3><%= Adapter1.ErrorMsg.Value %></h3>

以 及 下 面 的 取 值 程 式 碼 :

procedure TEditImageDB.AdaptErrorGetValue(Sender: TObject;

var Value: Variant);

begin

if ImageDB.DataSetAdapter1.Errors.ErrorCount > 0 then

Value:='''' 錯 誤 :'''' ImageDB.DataSetAdapter1.Errors.Errors[0].ErrorText;

end;

詳 細 的 程 式 碼 你 可 以 在 範 例 程 式 中 的 ImageDB 、 EditImageDB 中 找 到 。 為 了 讓 WebAppDebuger 順 利 找 到 我 們 放 在 /Images 下 的 圖 型 , 我 們 必 須 將 這 個 路 徑 加 到 WebAppDebuger 中 , 請 開 啟 WebAppDebuger 的 Server|Options 選 單 並 加 入 你 的 路 徑 :

本 章 後 記

雖 然 我 在 本 文 中 都 使 用 BDE 來 處 理 資 料 庫 , 但 在 實 際 應 用 上 我 建 議 你 使 用 其 它 的 Driver , 因 為 BDE 有 Session 及 一 些 限 制 , 除 非 你 使 用 DataSnap , 否 則 開 發 出 來 的 網 站 可 能 無 法 承 受 太 多 用 戶 , 我 比 較 建 議 你 使 用 ADO 或 是 dbExpress 來 取 代 BDE , 或 者 直 接 使 用 DataSnap , 有 關 的 資 訊 你 應 該 可 以 在 其 它 書 中 找 到 , 我 就 不 再 多 說 了 , 在 OnGetImage 事 件 中 我 們 讀 取 了 圖 形 後 傳 回 Client 端 , 這 是 我 為 了 讓 你 了 解 OnGetImgae 事 件 的 用 法 特 別 寫 的 , 事 實 上 在 實 務 應 用 上 , 你 應 該 利 用 另 外 一 個 OnGetHREF 來 傳 回 圖 形 的 URL , 這 可 以 減 少 Web Server 的 負 擔 , 尤 其 是 程 式 與 圖 形 分 開 存 在 兩 個 Server 上 時 特 別 明 顯 , 這 可 以 讓 你 的 程 式 反 應 速 度 變 的 更 快 。 如 果 你 有 試 過

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Web Application 開 發 利 器 - WebSnap(八)

下一篇:The Delphi Object Model (PART I)