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

table怎样锁定记录

答題得分者是:max5020
zhouying82
高階會員


發表:150
回覆:272
積分:189
註冊:2004-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-06-08 11:54:03 IP:218.80.xxx.xxx 訂閱
代码如下:
timer1ontimer事件:
if table1.eof then
table1.first
else
table1.next;
现在的问题,我通过在DBGRID上面点击右键,显示出相应的内容,然后修改,保存。
我要做的就是,当我点击右键时,此票记录被锁定,不执行相关内容。但是循环继续执行,就是不执行此票单子,只有当我重新按下保存后,才正确执行。
有没有什么办法啊
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-06-08 22:15:29 IP:61.67.xxx.xxx 未訂閱
查一下討論, "鎖定記錄" 之類的...
max5020
資深會員


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-06-09 14:13:58 IP:59.120.xxx.xxx 訂閱
因為指令 Table1.First; Table1.Next;
都會影響正在Edit的資料狀態,
即, Table1.State 會從 dsEdit立刻自動 Table1.Post;

因此建議, 在編修資料時,
另外使用非資料感知元件來進行編輯,
例如 TEdit, TMemo等,
才不會受到Timer程序的影響,

因此編輯該筆資料前,
先對這筆資料設定一個狀態,
Timer再判斷, 略過該筆資料即可!!
===================引 用 zhouying82 文 章===================
代码如下:
timer1ontimer事件:
if table1.eof then
table1.first
else
table1.next;
现在的问题,我通过在DBGRID上面点击右键,显示出相应的内容,然后修改,保存。
我要做的就是,当我点击右键时,此票记录被锁定,不执行相关内容。但是循环继续执行,就是不执行此票单子,只有当我重新按下保存后,才正确执行。
有没有什么办法啊
編輯記錄
max5020 重新編輯於 2009-06-09 14:15:52, 註解 無‧
zhouying82
高階會員


發表:150
回覆:272
積分:189
註冊:2004-03-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-06-09 21:47:34 IP:124.77.xxx.xxx 訂閱
不是的,编辑我是通过了其他的控件,我的意思是,比如说我把timer间隔时间设为1分钟,那么在期间,我在DBGRID中点击右键,选择修改记录,如果我点击进入后,改好了相关的内容,但是没有按保存,那么当过了1分钟之后,我在按保存,这个时候,发现指针已经跳到最后一条记录上面去了。等于说是把最后一条记录给修改了。但是呢,我有不想在打开修改的前提下,停止TIMER,这样的话,表中的其他条文就不会运行了。所以说我就想当我点击修改后,只把当前的记录改为EDIT,而循环照旧,只有当我按下TIMER的时候后,才会刷新,并把此条记录包含进去,继续从头到脚执行。
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
max5020
資深會員


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-06-10 09:18:43 IP:59.120.xxx.xxx 訂閱
我發現你提的問題,
大部份都是程式邏輯的問題,
而且只要自己多花點時間,
試試其他的方法,
我想您一定可以解決,

像這個問題,
其實很簡單啊,
只要在按修改時, 記錄其KeyValue,
按保存時, 先找到那筆KeyValue,
就不會改錯資料,
當然Timer也要同時記錄,
已經SHOW到哪一筆了,
按資料修改和保存,
才不會影響到Timer在SHOW的記錄順序
zhouying82
高階會員


發表:150
回覆:272
積分:189
註冊:2004-03-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-06-11 22:33:02 IP:222.70.xxx.xxx 訂閱
大大,可否给段代码解释下,不懂什么叫做KEYVALUE啊,另外我看到有人用事务,不知道这个是不是适合我啊?
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
編輯記錄
zhouying82 重新編輯於 2009-06-11 22:36:49, 註解 無‧
max5020
資深會員


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2009-06-12 09:13:43 IP:211.22.xxx.xxx 訂閱
Key Value = 主鍵值
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#8 引用回覆 回覆 發表時間:2009-06-19 10:22:13 IP:118.169.xxx.xxx 訂閱
亂結案!!
系統時間:2024-05-16 21:03:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!