ClientDataSet的Createdataset執行異常 |
答題得分者是:t27
|
cilan
一般會員 發表:6 回覆:13 積分:3 註冊:2011-06-13 發送簡訊給我 |
以下為程式片段,它在開發階段,執行很正常,
但裝置在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 發送簡訊給我 |
===================引 用 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 發送簡訊給我 |
|
cilan
一般會員 發表:6 回覆:13 積分:3 註冊:2011-06-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |