線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3055
推到 Plurk!
推到 Facebook!

3-Tir 存檔問題

尚未結案
skyangel
一般會員


發表:11
回覆:9
積分:4
註冊:2003-04-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-09 11:45:54 IP:218.167.xxx.xxx 未訂閱
環境資料如下: DataBase :access 應用伺服端:os:Win2000server 用adoconnection連接            Adoquery,DataSetProvider元件 客戶端:   用socketconnection跟伺服端連接           ClientDataSet元件    現在有一個問題 當我從伺服端抓取資料到前端並加以編修後 要回存到伺服端時出現這樣的錯誤訊息      " mismatch in datapacket "    請問各位大大; 這是哪裡的問題?    另外如果用BDE連結 伺服端連結是正常 但前端一開啟就出現這樣的錯誤訊息      " Invalid configuration parameter "    有沒哪位大大知道是甚麼問題?        
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-09 11:59:49 IP:61.31.xxx.xxx 未訂閱
用 Delphi 5 嗎!
skyangel
一般會員


發表:11
回覆:9
積分:4
註冊:2003-04-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-09 12:31:49 IP:61.230.xxx.xxx 未訂閱
我是用 DelPhi 6
likush
高階會員


發表:5
回覆:235
積分:103
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-09 14:19:21 IP:220.134.xxx.xxx 未訂閱
請問你的ADOCONNECT是否能正常連至主機? 能否貼上你相關的程式碼,或說明你在執行那個動作時出錯的 ========================= 讀萬卷書~不如來K.TOP走一遭 =========================
skyangel
一般會員


發表:11
回覆:9
積分:4
註冊:2003-04-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-09 18:35:16 IP:218.167.xxx.xxx 未訂閱
環境資料如下: DataBase :access 應用伺服端:os:Win2000server 用adoconnection連接 Adoquery,DataSetProvider元件 客戶端: 用socketconnection跟伺服端連接 ClientDataSet元件    現在有一個問題 當我從伺服端抓取資料到前端並加以編修後 要回存到伺服端時出現這樣的錯誤訊息    " mismatch in datapacket "    請問各位大大; 這是哪裡的問題?    另外如果用BDE連結 伺服端連結是正常 但前端一開啟就出現這樣的錯誤訊息    " Invalid configuration parameter "    有沒哪位大大知道是甚麼問題? =======================================================    Dear likush; AdoConnection 連接是正常的, 前端程式也可以正常的下載資料並加以編修 但在按下 存檔按鍵 後 就出現這個錯誤訊息        下面是程式片斷 RemoteDataModule 的自訂存檔程式    procedure TATMCasherServer.ApplyUpdates(CustVar: OleVariant); var ErrCount :Integer; begin    ADOConnection1.BeginTrans;    try      if not VarIsNull(CustVar) then        begin           CustVar :=DsProvider2.ApplyUpdates(CustVar, 0, ErrCount);           if ErrCount>0 then              SysUtils.Abort;        end;        ADOConnection1.CommitTrans;     except        ADOConnection1.RollbackTrans;     end;    end;    前端的存檔程序: procedure TDM.ApplyUpdates2; Var  CustVar :OleVariant; begin  ClientDataSet2.CheckBrowseMode;  if ClientDataSet2.ChangeCount>0 then    CustVar :=ClientDataSet2.Delta  else CustVar := Null;  SocketConnection1.AppServer.ApplyUpdates(CustVar);  if not VarIsNull(CustVar) then        ClientDataSet2.Reconcile(CustVar)  else begin       ClientDataSet2.Reconcile(CustVar);       ClientDataSet2.Refresh;     end; end;    存檔按鈕的程序:    procedure TAcc_Closefm.SpeedButton1Click(Sender: TObject); begin   if DM.ClientDataSet2.ChangeCount>0 then       DM.ApplyUpdates2; end;    
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-10-10 12:49:04 IP:61.70.xxx.xxx 未訂閱
引言:
 SocketConnection1.AppServer.ApplyUpdates(CustVar);
 if not VarIsNull(CustVar) then        ClientDataSet2.Reconcile(CustVar)
 else begin
      ClientDataSet2.Reconcile(CustVar);
      ClientDataSet2.Refresh;
    end;
請問您出現錯誤訊息是在執行哪一行的時候? 您ApplyUpdates裡的參數是用var的嗎? 不然他好像不會隨Server改變而改變, 為何CustVar是null還是執行ClientDataSet2.Reconcile(CustVar);呢? <iFrame src="http://www.coss.com.tw/jieshu/sign.htm" width=400 height=105 scolling="NO" border="0"></iFrame> 震江系統(股)公司: http://www.coss.com.tw/ 捷舒軟體設計坊: http://www.coss.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
skyangel
一般會員


發表:11
回覆:9
積分:4
註冊:2003-04-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-10-10 15:44:28 IP:218.167.xxx.xxx 未訂閱
引言: RemoteDataModule 的自訂存檔程式 procedure TATMCasherServer.ApplyUpdates(CustVar: OleVariant); var ErrCount :Integer; begin ADOConnection1.BeginTrans; try if not VarIsNull(CustVar) then begin CustVar :=DsProvider2.ApplyUpdates(CustVar, 0, ErrCount); if ErrCount>0 then SysUtils.Abort; end; ADOConnection1.CommitTrans; except ADOConnection1.RollbackTrans; end; end; 前端的存檔程序: procedure TDM.ApplyUpdates2; Var CustVar :OleVariant; begin ClientDataSet2.CheckBrowseMode; if ClientDataSet2.ChangeCount>0 then CustVar :=ClientDataSet2.Delta else CustVar := Null; SocketConnection1.AppServer.ApplyUpdates(CustVar); if not VarIsNull(CustVar) then ClientDataSet2.Reconcile(CustVar) <==執行到這一行後跳出這個錯誤訊息 "mismatch in datapacket " CustVar 是 OleVarient; else begin ClientDataSet2.Reconcile(CustVar); ClientDataSet2.Refresh; end; end; 存檔按鈕的程序: procedure TAcc_Closefm.SpeedButton1Click(Sender: TObject); begin if DM.ClientDataSet2.ChangeCount>0 then DM.ApplyUpdates2; end;
========================================================================================= jieshu 版大: 前端的存檔程序: procedure TDM.ApplyUpdates2; Var CustVar :OleVariant; begin ClientDataSet2.CheckBrowseMode; if ClientDataSet2.ChangeCount>0 then CustVar :=ClientDataSet2.Delta else CustVar := Null; SocketConnection1.AppServer.ApplyUpdates(CustVar); if not VarIsNull(CustVar) then ClientDataSet2.Reconcile(CustVar) <==執行到這一行後跳出這個錯誤訊息 "mismatch in datapacket " , CustVar 是用 OleVarient; else begin ClientDataSet2.Reconcile(CustVar); ClientDataSet2.Refresh; end; end; ------ 另外如果用BDE連結 伺服端連結是正常 但前端一開啟就出現這樣的錯誤訊息 " Invalid configuration parameter " 這兩個錯誤訊息不知 版大 您有沒有碰過 感恩回覆
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-10-10 23:41:04 IP:61.70.xxx.xxx 未訂閱
引言: RemoteDataModule 的自訂存檔程式 procedure TATMCasherServer.ApplyUpdates(var CustVar: OleVariant);// procedure 定義錯誤 var ErrCount :Integer; begin ADOConnection1.BeginTrans; try if not VarIsNull(CustVar) then begin CustVar :=DsProvider2.ApplyUpdates(CustVar, 0, ErrCount); if ErrCount>0 then SysUtils.Abort; end; ADOConnection1.CommitTrans; except ADOConnection1.RollbackTrans; end; end; 前端的存檔程序: procedure TDM.ApplyUpdates2; Var CustVar :OleVariant; begin ClientDataSet2.CheckBrowseMode; if ClientDataSet2.ChangeCount>0 then CustVar :=ClientDataSet2.Delta else CustVar := Null; SocketConnection1.AppServer.ApplyUpdates(CustVar); if not VarIsNull(CustVar) then ClientDataSet2.Reconcile(CustVar); <==執行到這一行後跳出這個錯誤訊息 "mismatch in datapacket " , CustVar 是用 OleVarient Server Procedure定義錯誤, 以致CustVar非Server傳回的值 else begin ClientDataSet2.Reconcile(CustVar); ClientDataSet2.Refresh; end; end; ------ 另外如果用BDE連結 伺服端連結是正常 但前端一開啟就出現這樣的錯誤訊息 " Invalid configuration parameter " 這兩個錯誤訊息不知 版大 您有沒有碰過
CustVar如果是null應該就不用再執行了, 好像沒遇過這樣的錯誤訊息, 同樣是看錯誤訊息由哪一行發出, 才有辦法判斷是什麼問題. <iFrame src="http://www.coss.com.tw/jieshu/sign.htm" width=400 height=105 scolling="NO" border="0"></iFrame> 震江系統(股)公司: http://www.coss.com.tw/ 捷舒軟體設計坊: http://www.coss.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
skyangel
一般會員


發表:11
回覆:9
積分:4
註冊:2003-04-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-10-11 12:06:23 IP:61.230.xxx.xxx 未訂閱
引言:引言: -------------------------------------------------------------------------------- RemoteDataModule 的自訂存檔程式 procedure TATMCasherServer.ApplyUpdates(var CustVar: OleVariant);// procedure 定義錯誤 var ErrCount :Integer; begin ADOConnection1.BeginTrans; try if not VarIsNull(CustVar) then begin CustVar :=DsProvider2.ApplyUpdates(CustVar, 0, ErrCount); if ErrCount>0 then SysUtils.Abort; end; ADOConnection1.CommitTrans; except ADOConnection1.RollbackTrans; end; end; 前端的存檔程序: procedure TDM.ApplyUpdates2; Var CustVar :OleVariant; begin ClientDataSet2.CheckBrowseMode; if ClientDataSet2.ChangeCount>0 then CustVar :=ClientDataSet2.Delta else CustVar := Null; SocketConnection1.AppServer.ApplyUpdates(CustVar); if not VarIsNull(CustVar) then ClientDataSet2.Reconcile(CustVar); <==執行到這一行後跳出這個錯誤訊息 "mismatch in datapacket " , CustVar 是用 OleVarient Server Procedure定義錯誤, 以致CustVar非Server傳回的值 else begin ClientDataSet2.Reconcile(CustVar); ClientDataSet2.Refresh; end; end; ------ 另外如果用BDE連結 伺服端連結是正常 但前端一開啟就出現這樣的錯誤訊息 " Invalid configuration parameter " 這兩個錯誤訊息不知 版大 您有沒有碰過 -------------------------------------------------------------------------------- CustVar如果是null應該就不用再執行了, 好像沒遇過這樣的錯誤訊息, 同樣是看錯誤訊息由哪一行發出, 才有辦法判斷是什麼問題.
謝謝 JIESHU 版大的指點 經過更正後存檔程序不會在跳出" mismatch in datapacket " 但換了另一個錯誤訊息 實在找不出原因 要麻煩你 再給我指點一下 感恩
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-10-11 18:49:37 IP:203.204.xxx.xxx 未訂閱
引言: 但換了另一個錯誤訊息 實在找不出原因 要麻煩你 再給我指點一下
這應該是ADODataSet在更新時, 找不到原本紀錄的關係, 你可以改ADODataSet的一些屬性試試, 還有DataSetProvider.ResolveToDataSet設成True試試. <iFrame src="http://www.coss.com.tw/jieshu/sign.htm" width=400 height=105 scolling="NO" border="0"></iFrame> 震江系統(股)公司: http://www.coss.com.tw/ 捷舒軟體設計坊: http://www.coss.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
skyangel
一般會員


發表:11
回覆:9
積分:4
註冊:2003-04-13

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-10-13 22:32:23 IP:61.230.xxx.xxx 未訂閱
出差兩天 回來晚了 感謝 版大抽空為我解惑 再努力去試試 有Delphi K.Top 真好
reebok
一般會員


發表:8
回覆:11
積分:3
註冊:2004-07-30

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-11-20 12:20:13 IP:211.74.xxx.xxx 未訂閱
環境資料如下: DataBase :access 應用伺服端:os:Win2000server 用adoconnection連接 Adoquery,DataSetProvider元件 客戶端: 用socketconnection跟伺服端連接 ClientDataSet元件    不好意思請問一下,各位先進們可能任為很簡單ㄉ問題,以上ㄉ作業環境ˋ應用伺服端ˋ客戶端.這些是算區域網路(
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-11-20 21:52:21 IP:61.70.xxx.xxx 未訂閱
引言: 環境資料如下: DataBase :access 應用伺服端:os:Win2000server 用adoconnection連接 Adoquery,DataSetProvider元件 客戶端: 用socketconnection跟伺服端連接 ClientDataSet元件 不好意思請問一下,各位先進們可能任為很簡單ㄉ問題,以上ㄉ作業環境ˋ應用伺服端ˋ客戶端.這些是算區域網路(>< face="Verdana, Arial, Helvetica"> 不同的主題應該要另起主題, 這樣以後搜尋資料才會比較清楚. Delphi的三層式架構可以用在區域網路, 也可以用在廣域網路, 所以您這樣問, 真的不曉得要怎麼算, 且怎麼算是看您AppServer和Client端是怎麼放, 我覺得您先要去搞懂區域網路和廣域網路的分別吧, 當然客戶端是可以透過網路在世界各地連結應用伺服器的. <iFrame src="http://www.coss.com.tw/jieshu/sign.htm" width=400 height=105 scolling="NO" border="0"></iFrame> 震江系統(股)公司: http://www.coss.com.tw/ 捷舒軟體設計坊: http://www.coss.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#14 引用回覆 回覆 發表時間:2007-04-30 13:44:40 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

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