如何在 Insert 一筆資料後, 能得知剛 Insert 的資料的 index 值 ? |
尚未結案
|
AirsLin
一般會員 發表:3 回覆:7 積分:2 註冊:2002-10-26 發送簡訊給我 |
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
AirsLin, 您好
我所想到的方法是用一個Query元件來查詢,希望沒有誤會您的意思。
< class="code">
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Text = "select max(Field) as maxvalue from TableName ";
Query1->Open();
ShowMessage(Query1->FieldByName("maxvalue")->AsString);
// Field為自動編號的欄位,如您的index,TableName為您所使用的Table名稱
=================================
涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。
是非終日有,不聽自然無
天下本無事,庸人自擾之 發表人 - tech_state 於 2003/08/30 00:10:36
|
kuochih
一般會員 發表:2 回覆:8 積分:2 註冊:2003-07-17 發送簡訊給我 |
|
AirsLin
一般會員 發表:3 回覆:7 積分:2 註冊:2002-10-26 發送簡訊給我 |
|
AirsLin
一般會員 發表:3 回覆:7 積分:2 註冊:2002-10-26 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
hi, 記得要取回資料時要使用 Open() Method 不要用 ExecSQL(), 這是用在指令型的 command 下, 如 insert, delete, update 等...
關於你的問題, 建議你的 command 這樣下:
Query->SQL->Clear(); Query->SQL->Add("Set Nocount On;"); Query->SQL->Add("Insert ....(略)...;"); Query->SQL->Add("SELECT @@IDENTITY AS XXX;"); Query->Open(); Idx = Query->FieldByName("XXX")->AsInteger; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |