全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2041
推到 Plurk!
推到 Facebook!

判斷資料有無修改

尚未結案
lasterliu
一般會員


發表:38
回覆:57
積分:19
註冊:2007-11-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-12-23 15:12:22 IP:60.251.xxx.xxx 訂閱
請問各位大大:
若想做到判斷USER有無修改資料的功能,請問應如何著手呢?
如:年紀 18 歲 --> 我將欄位改為 19 即有儲存功能;反之,若仍為18則無。
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-12-23 17:03:10 IP:59.120.xxx.xxx 未訂閱
P.D.
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-12-23 22:32:27 IP:118.169.xxx.xxx 未訂閱
兩種方式, 但不知你的資料庫是啥?

1.有些資料庫方式, 如bde 會提供欄位是否有 ismodify 的功能可以判斷, 有的提供transaction(交易模式)來做判斷
2.或者直接在修改欄位的地方, 自己寫判斷, if true 則 表示被修改, 不過這樣的寫法是比較接近於早期 DOS 的用法, 不建議
===================引 用 lasterliu 文 章===================
請問各位大大:
??? 若想做到判斷USER有無修改資料的功能,請問應如何著手呢?
??? 如:年紀? 18? 歲? -->? 我將欄位改為 19 即有儲存功能;反之,若仍為18則無。
aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-12-24 00:11:07 IP:59.115.xxx.xxx 訂閱
TDataSet的 beforePost事件上,使用

TField上屬性的OldValue來做比較。 例子



[code cpp]
void __fastcall TForm1::ADODataSet1BeforePost(TDataSet *DataSet)
{
int id = DataSet->FieldByName("id")->OldValue;
int id2 = DataSet->FieldByName("id")->AsInteger;
if(id == id2)
DataSet->Cancel();
}
//---------------------------------------------------------------------------

[/code]


------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
編輯記錄
aftcast 重新編輯於 2009-12-24 00:15:01, 註解 無‧
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-04-23 16:05:24 IP:219.87.xxx.xxx 訂閱
如果是判斷欄位的值,可以寫在onvalidat的事件裡面,
因為如果你打的值是沒有變化的,這個事件是不會被觸發,
另外onchange應該也是可以試試看喔!
------
Pillar Wang
系統時間:2024-11-23 3:29:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!