table怎样锁定记录 |
答題得分者是:max5020
|
zhouying82
高階會員 發表:150 回覆:272 積分:189 註冊:2004-03-16 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
max5020
資深會員 發表:30 回覆:277 積分:321 註冊:2003-06-04 發送簡訊給我 |
因為指令 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 發送簡訊給我 |
不是的,编辑我是通过了其他的控件,我的意思是,比如说我把timer间隔时间设为1分钟,那么在期间,我在DBGRID中点击右键,选择修改记录,如果我点击进入后,改好了相关的内容,但是没有按保存,那么当过了1分钟之后,我在按保存,这个时候,发现指针已经跳到最后一条记录上面去了。等于说是把最后一条记录给修改了。但是呢,我有不想在打开修改的前提下,停止TIMER,这样的话,表中的其他条文就不会运行了。所以说我就想当我点击修改后,只把当前的记录改为EDIT,而循环照旧,只有当我按下TIMER的时候后,才会刷新,并把此条记录包含进去,继续从头到脚执行。
------
断断续续的学了几年,还是一个初学者,永远支持Delphi ! |
max5020
資深會員 發表:30 回覆:277 積分:321 註冊:2003-06-04 發送簡訊給我 |
|
zhouying82
高階會員 發表:150 回覆:272 積分:189 註冊:2004-03-16 發送簡訊給我 |
大大,可否给段代码解释下,不懂什么叫做KEYVALUE啊,另外我看到有人用事务,不知道这个是不是适合我啊?
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
編輯記錄
zhouying82 重新編輯於 2009-06-11 22:36:49, 註解 無‧
|
max5020
資深會員 發表:30 回覆:277 積分:321 註冊:2003-06-04 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |