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

ClientDataSet的Createdataset執行異常

答題得分者是:t27
cilan
一般會員


發表:6
回覆:13
積分:3
註冊:2011-06-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-04-27 09:11:49 IP:220.134.xxx.xxx 訂閱
以下為程式片段,它在開發階段,執行很正常,
但裝置在user端時,執行到紅字部份就卡住!

以環境來說,硬體設備規格幾乎是一致的,作業環境也相同,
要說差別,就是我的電腦上多安裝了Delphi開發工具。
請問以這問題該如何解?
或是有什麼替代的解決方法?
謝謝解答!!

procedure TfrmAst31.btnConfirmClick(Sender: TObject);
var
strSQL:String;
QryTemp:TADOQuery;
begin
QryTemp:=TADOQuery.Create(nil);
QryTemp.LockType:=ltReadOnly;
QryTemp.ConnectionString := AstDM.conAsset;
strSQL:= 'select a.*,b.DEPNA as LOCATNA, c.DEPNA as DEPNONA, d.SUPNA as SUPNONA from '
' ASBASSM a '
' LEFT JOIN ASBDEPT b on b.DEPNO=a.LOCAT '
' LEFT JOIN ASBDEPT c on c.DEPNO=a.DEPNO '
' LEFT JOIN ASBSUPM d on d.SUPNO=a.SUPNO '
' where (a.MODIMRK <> ''D'' or a.MODIMRK is null) ';
QryTemp.SQL.Text:=strSQL;
try
QryTemp.Open;
WITH DS do // DS 是TClientDataSet元件
begin
FieldDefs.Clear;
bAddCol(DS,'ASSNO',ftString,8);
bAddCol(DS,'ASSNA',ftString,50);
bAddCol(DS,'ASSSN',ftString,100);
bAddCol(DS,'TYPENO',ftString,100);
bAddCol(DS,'SUPNONA',ftString,40);
//----------------------
bAddExcelCol(DS);
/////////////////////////////
CreateDataSet; // 他台電腦無法成功執行本列敘述 0426
////////////////////////////
end;
// DS.CreateDataSet;
tsDBgrid1.FieldState := fsCustomized;
bAddCol(tsDBgrid1,'ASSNO','資產編號',65);
bAddCol(tsDBgrid1,'ASSNA','資產名稱',135);
bAddCol(tsDBgrid1,'ASSSN','產品序號',100);
bAddCol(tsDBgrid1,'TYPENO','產品型號',100);
bAddCol(tsDBgrid1,'SUPNONA','供應廠商',100);
QryTemp.First;
while not QryTemp.Eof do
begin
DS.APPEND;
DS.FieldByName('ASSNO').AsString := QryTemp.FieldByName('ASSNO').AsString;
DS.FieldByName('ASSNA').AsString := QryTemp.FieldByName('ASSNA').AsString;
DS.FieldByName('ASSSN').AsString := QryTemp.FieldByName('ASSSN').AsString;
DS.FieldByName('TYPENO').AsString := QryTemp.FieldByName('TYPENO').AsString;
DS.FieldByName('SUPNONA').AsString :=QryTemp.FieldByName('SUPNONA').AsString;
DS.POST;
QryTemp.Next;
end;
TSDBGRID1.GridMode := gmBrowse;
finally
QryTemp.Free;
end;
end;


------
- 嵐 -
t27
中階會員


發表:34
回覆:95
積分:90
註冊:2002-06-19

發送簡訊給我
cilan
一般會員


發表:6
回覆:13
積分:3
註冊:2011-06-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-04-27 14:38:02 IP:220.134.xxx.xxx 訂閱

===================引 用 t27 文 章===================
參考以下資料
http://delphi.about.com/gi/o.htm?zi=1/XJ&zTi=1&sdn=delphi&cdn=compute&tm=76&f=00&su=p284.13.342.ip_p504.6.342.ip_&tt=2&bt=0&bts=0&zu=http://edn.embarcadero.com/article/29297


謝謝t27大大的回覆!
針對t27大大的回覆,個人有其它疑問......
1.我希望知道的是解決方法或替代解決方法,得到的卻是一段「典故」
2.直接給http://edn.embarcadero.com/article/29297 的連結就好,何故這樣迂迴?

試了許多時間,最後難以理解,
1.使用TClientDataSet,為何不會直接use Midas?
2.在大大給的網頁中,指明要use midaslib,偏偏delphi5的lib卻沒有這個dcu,google一下,好像不止我有這個困擾;當然,最後也是沒找到delphi5適用版本!

最後的解決方法......
在end user的Windows/system32 folder下,複製一個midas.dll檔給他們......程式完全不必調整。
或許這個方法不好,但請大大們提供較理想的解決方法。
------
- 嵐 -
t27
中階會員


發表:34
回覆:95
積分:90
註冊:2002-06-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2012-04-27 19:34:47 IP:61.228.xxx.xxx 訂閱
 看你的回答.領教了.
cilan
一般會員


發表:6
回覆:13
積分:3
註冊:2011-06-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2012-04-30 08:04:02 IP:220.134.xxx.xxx 訂閱
結案.
在此謝謝t27大大提供的協助!
------
- 嵐 -
系統時間:2017-10-20 7:52:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!