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

請問搜尋後修改但為什麼,修改並不是照資料順序

答題得分者是:tuga
wildsky
一般會員


發表:6
回覆:7
積分:2
註冊:2008-06-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2013-06-06 11:05:14 IP:122.116.xxx.xxx 訂閱
請問SetRange後修改資料,為什麼它修改的順序是
J00002
J00004
J00003
而不是
J00002
J00003
J00004
煩請指教 多謝
以下是測試的程式碼

[code delphi]
procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
begin
Table1.Active:=true;
Table1.IndexFieldNames:='code';
Table1.SetRangeStart;
Table1CODE.AsString:='J00002';
Table1.SetRangeEnd;
Table1CODE.AsString:='J00004';
Table1.ApplyRange;
Table1.Active;


while not Table1.eof do
//for I := 0 to Table1.RecordCount - 1 do

begin

Table1.Open;
Table1.Edit;
Table1CODE.AsString:=stringreplace(Table1CODE.AsString, '0', '1', [rfReplaceAll]);
ShowMessage(Table1CODE.AsString);
Table1.Post;
//Table1.Next;
// ShowMessage('1');
end;

end;

[/code]

編輯記錄
wildsky 重新編輯於 2013-06-06 11:07:00, 註解 無‧
max5020
資深會員


發表:29
回覆:277
積分:321
註冊:2003-06-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2013-06-06 14:29:16 IP:59.125.xxx.xxx 訂閱
 .'code'開始, 往前修改資料
編輯記錄
max5020 重新編輯於 2013-06-06 14:29:43, 註解 無‧
max5020 重新編輯於 2013-06-06 14:33:12, 註解 無‧
max5020 重新編輯於 2013-06-06 14:36:20, 註解 無‧
wildsky
一般會員


發表:6
回覆:7
積分:2
註冊:2008-06-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2013-06-07 15:52:23 IP:122.116.xxx.xxx 訂閱
max5020大 你好
關於你說的加Table1.First;
其實我昨天早上試的時候也測過,也是一樣的問題
後來我把Table1.Next;加上就照順序了。
====================
不好意思我沒學過程式語言所以以下是我所認知的
====================
SetRange後照道理,不是應該指標在第一筆
然後執行迴圈(不是最後一筆資料則繼續)
所以它不是應該會是2==>3====>4這樣執行下來
但實際他卻是
2==>4====>3這樣執行下來
小弟發問只是想知道為什麼會這樣?

編輯記錄
wildsky 重新編輯於 2013-06-07 15:53:01, 註解 無‧
tuga
高階會員


發表:16
回覆:109
積分:120
註冊:2002-07-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2013-06-08 11:12:39 IP:220.133.xxx.xxx 訂閱
如果你的修改的資料是 index  expression 的其中一部份, 
post 以後, record 的順序就變掉了, 並不是原來的順序

===================引 用 wildsky 文 章===================
max5020大 你好
關於你說的加Table1.First;
其實我昨天早上試的時候也測過,也是一樣的問題
後來我把Table1.Next;加上就照順序了。
====================
不好意思我沒學過程式語言所以以下是我所認知的
====================
SetRange後照道理,不是應該指標在第一筆
然後執行迴圈(不是最後一筆資料則繼續)
所以它不是應該會是2==>3====>4這樣執行下來
但實際他卻是
2==>4====>3這樣執行下來
小弟發問只是想知道為什麼會這樣?

wildsky
一般會員


發表:6
回覆:7
積分:2
註冊:2008-06-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2013-06-11 13:56:42 IP:122.116.xxx.xxx 訂閱
抱歉這幾天忙現在才回,這樣我知道方向了
我再去找資料來研究多謝各位解惑
tuga
高階會員


發表:16
回覆:109
積分:120
註冊:2002-07-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2013-06-11 14:42:41 IP:220.133.xxx.xxx 訂閱
原則就是 你修改的 field , 不要是目前 index 的 expression 之一


===================引 用 wildsky 文 章===================
抱歉這幾天忙現在才回,這樣我知道方向了
我再去找資料來研究多謝各位解惑
系統時間:2024-04-26 22:36:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!