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

ApplyUpdates(0)更新後的dbgrid顯示問題

答題得分者是:GrandRURU
cswang1210
一般會員


發表:46
回覆:42
積分:17
註冊:2005-01-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-01-06 08:53:27 IP:220.130.xxx.xxx 訂閱
各位大大:
我使用三階的方式來存取資料....
當我一筆一筆寫回資料庫後,dbgrid可以正常的顯示更新很的資料....
但是當我一次全部寫回的時候,資料是有更新成功,但是dbgrid卻無法
正常的捲動了.....我原本以為是指標的位置跑掉了...但是加了bookmark
後還是一樣.....請問我要怎麼解決這個問題....謝謝!


[code delphi]
with cdsTmp do
begin
DisableControls;
open;
First;
while not Eof do
Delete ;

lbBookMark:=getbookmark;
iRow := 2;
while StrToIntDef(MyExcel.WorkBooks[1].WorkSheets[1].Cells[iRow, 1], 0)>0 do
begin
Append;
FieldByName('prodspec').Value := MyExcel.WorkBooks[1].WorkSheets[1].Cells[iRow, 2];
FieldByName('incstd').Value := MyExcel.WorkBooks[1].WorkSheets[1].Cells[iRow, 3];
FieldByName('odmax').AsFloat := StrToFloatDef(MyExcel.WorkBooks[1].WorkSheets[1].Cells[iRow, 4],0);
FieldByName('odstd').Value := StrToFloatDef(MyExcel.WorkBooks[1].WorkSheets[1].Cells[iRow, 5],0);
FieldByName('odmin').Value := StrToFloatDef(MyExcel.WorkBooks[1].WorkSheets[1].Cells[iRow, 6],0);
FieldByName('thickmax').Value := StrToFloatDef(MyExcel.WorkBooks[1].WorkSheets[1].Cells[iRow, 8],0);
FieldByName('thickstd').Value := StrToFloatDef(MyExcel.WorkBooks[1].WorkSheets[1].Cells[iRow, 9],0);
FieldByName('thickmin').Value := StrToFloatDef(MyExcel.WorkBooks[1].WorkSheets[1].Cells[iRow, 10],0);
FieldByName('mthickmax').Value := StrToFloatDef(MyExcel.WorkBooks[1].WorkSheets[1].Cells[iRow, 11],0);
FieldByName('mthickstd').Value := StrToFloatDef(MyExcel.WorkBooks[1].WorkSheets[1].Cells[iRow, 12],0);
FieldByName('mthickmin').Value := StrToFloatDef(MyExcel.WorkBooks[1].WorkSheets[1].Cells[iRow, 13],0);
FieldByName('rstat').Value :=' ';
FieldByName('adduser').Value :=Trim(UserID);
FieldByName('addtime').Value :=now;
Post;
// ApplyUpdates(-1);
Inc(iRow);
end;


res := (ApplyUpdates(0) = 0); //有問題
if res = False then
ErpDlgMsg(['%S'],['存檔失敗'], True) // 存檔失敗
else
ErpDlgMsg(['%S'],['存檔成功'], True);

GotoBookMark(lbBookMark);
EnableControls;
first;

end;

[/code]

編輯記錄
cswang1210 重新編輯於 2010-01-06 08:55:04, 註解 無‧
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-01-06 12:46:37 IP:203.75.xxx.xxx 未訂閱
有試過在更新完後再把DataSet關閉打開一次嗎?
cswang1210
一般會員


發表:46
回覆:42
積分:17
註冊:2005-01-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-01-07 09:46:22 IP:220.130.xxx.xxx 訂閱
我有試過close再open...
狀況還是一樣.......
===================引 用 GrandRURU 文 章===================
有試過在更新完後再把DataSet關閉打開一次嗎?
cswang1210
一般會員


發表:46
回覆:42
積分:17
註冊:2005-01-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-01-07 15:50:09 IP:220.130.xxx.xxx 訂閱
不好意思....問題找到了......
我在ErpDlgMsg這個function對dataset做了abort....
才導致這個錯誤........


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