請問DBGrid中,想知道某一欄位下所有的值,並將之刪除 |
答題得分者是:tech_state
|
流
中階會員 發表:36 回覆:142 積分:70 註冊:2003-07-24 發送簡訊給我 |
ex data1
A // 若有 A 則將資料丟進來
B
C // 若輸入 D 則這筆資料不予理會
E 不知道該怎麼把這一欄的資料抓出來
並不是用 select data1 from table1 SQL 語法
因為小弟想抓出裡面的資料進行比對動作
我剛剛在想是否有類似StringGrid->cells[i][j]的做法
不過去查了 help 後,好像這只有 StringGrid 有 小弟的概念是這樣,我想讓這一欄位資料為比對的值,有則輸入這筆資料。
不知道 SQL 語法搭配什麼或者是 DBGrid 的功能中
有什麼比較好的方法可用能夠完成比對的構想。 感謝回答 發表人 - 流 於 2003/08/15 21:29:45
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
|
流
中階會員 發表:36 回覆:142 積分:70 註冊:2003-07-24 發送簡訊給我 |
tech_state您好: 小弟有去看了bruce0211前輩的心得,不過小弟看不大懂
Table1->Locate(“欲搜尋之欄位名稱”, 搜尋值, TLocateOptions() << loPartialKey);
除了看不懂外,就是不曉得是否能有比對功用,指令該怎麼下
查了 help 中 TIBTable.Locate 有單值跟多值的介紹
不過不懂後續的動作是什麼...請前輩指導 我還有想到一個 idea ,不過是透過元件的方式
如果能成功的話,再跟大家分享... 謝謝回答
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
流, 您好
範例:
Table1->Locate(“欲搜尋之欄位名稱”, 搜尋值, TLocateOptions() << loPartialKey);
您的程式: bool TF = Table->Locate("data1", "A", TLocateOptions() << loPartialKey); if(TF == true) ShowMessage("找到了!!"); else ShowMessage("找不到!!");================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之 |
流
中階會員 發表:36 回覆:142 積分:70 註冊:2003-07-24 發送簡訊給我 |
謝謝,感謝您的回答
bool TF = Table->Locate("data1", "A", TLocateOptions() << loPartialKey);
經過測試後發現 "A" 可為宣告的字串變數,而非固定的 不過又碰上一個問題,搜索到後想刪除那筆資料
== == ==
A a1 a2
B b1 b2 // if 找到 B 後,
C c1 c2
以 Locate 比對後若是找到,不知道該如何刪除 因為我找到後除了繼續放進那筆資料外,"A" 是比對的
所以比對好後得繼續將完整資料給補上
但是如果比對是為了刪除整筆資料,如上圖所示
比對到了 B 後,該怎麼刪除 B 那一列的所有資料讓 C 往上跳 抱歉,因為忽然又發現程式中需要這一個功能
而 Help 中小弟沒有找到方法,希望前輩再指點
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
流, 您好
請試試以下的code,應該可以符合您的需求。
bool TF = Table->Locate("data1", "A", TLocateOptions() << loPartialKey); if(TF == true) Table1->Delete(); else ShowMessage("找不到!!");================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之 |
流
中階會員 發表:36 回覆:142 積分:70 註冊:2003-07-24 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |