全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:877
推到 Plurk!
推到 Facebook!

2003 Web Services + Delphi6?

 
wyswyg
一般會員


發表:1
回覆:1
積分:0
註冊:2003-02-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-03-01 15:54:06 IP:61.63.xxx.xxx 訂閱
Dear all,

我需要從Web Services回傳一個DataSet給Delphi的 Client App. 使用,但無法成功(TRmotable類型,我無法轉成Delphi用的DataSet)。
我猜想這應該跟Delphi支援的版本有關吧。

所以,我想改用Web Services回傳字串,然後Client App. 接受後,在記憶體中建立虛擬的TTable。但是,我也無法成功。
主要就是TableName會有missing的問題。

舉例:

function TMasterFM.GetReshNo(): TTable;
var
xTable : TTable;
begin
//取得編號
InitReshoDataTable(xTable);
xTable.Open(); //掛在這邊----->table 找不到
xTable.Append();
xTable.FieldValues['RESH_NO'] := 'BS0231-070301';
result := xTable;
end;

{-------------------------------------------------
初始化編號的TTable的結構
-------------------------------------------------}
procedure TMasterFM.InitReshoDataTable(var xTable : TTable);
begin
if xTable = nil then xTable := TTable.Create(nil);

with xTable.FieldDefs do begin
//清除欄位定義
xTable.Active := false;
Clear();
//新增編號欄位定義
xTable.TableName := 'RESHREPORT'; //自訂的名稱
AddFieldDef.Name := 'RESH_NO';
AddFieldDef.DataType := ftString;
AddFieldDef.Required := true;
end; // end of with xTable.FieldDefs
end;

因為想把自建的Table傳給DBGrid接,這樣可以抽象化DBGrid與資料來源的關係。
請問,以上的問題有解ㄇ?

還是有其他的方案呢?

感謝撥冗查看,謝謝。

wyswyg
一般會員


發表:1
回覆:1
積分:0
註冊:2003-02-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-03-01 16:38:55 IP:61.63.xxx.xxx 訂閱
well 各位大大

我解了問題,如下:
//新增初始化資料庫設定
with xTable do begin
xTable.Active := false;
DataBaseName := 'c:\Temp\';
TableName := 'RESHREPORT';
TableType := ttParadox;
end;

//定義欄位資訊
with xTable.FieldDefs do begin
//清除欄位定義
Clear();
//新增研究報告編號欄位定義
Add('RESH_NO', ftString, 50, false); //變異處
end; // end of with xTable.FieldDefs
xTable.CreateTable(); //我這裡誤以為只有新增到後端SQL Server時才需要,原來Local DB也要

謝謝各位大大嚕

系統時間:2024-05-19 19:47:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!