求救query中记录位置定位问题 |
尚未結案
|
swangyong
一般會員 發表:9 回覆:8 積分:3 註冊:2003-07-15 發送簡訊給我 |
|
Ethan
版主 發表:101 回覆:170 積分:78 註冊:2006-07-05 發送簡訊給我 |
|
swangyong
一般會員 發表:9 回覆:8 積分:3 註冊:2003-07-15 發送簡訊給我 |
|
Winifred
初階會員 發表:3 回覆:34 積分:47 註冊:2002-07-24 發送簡訊給我 |
|
swangyong
一般會員 發表:9 回覆:8 積分:3 註冊:2003-07-15 發送簡訊給我 |
|
Ethan
版主 發表:101 回覆:170 積分:78 註冊:2006-07-05 發送簡訊給我 |
|
swangyong
一般會員 發表:9 回覆:8 積分:3 註冊:2003-07-15 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
引言: 也不行的,我用query DBNavigator1元件了,当我按加号“+”后在其中插入了,当时当我post的时候,或者光标移动走的时候,被插入的记录就又变成append了,又跑到最后去了,真是烦死人了!!!您好﹗ 出現這種append的現象是因為您資料表中會以唯一索引值進行排序工作﹒ 當Query元件被Close-->Open時﹐現行資料錄的指針就會移至開頭第一筆資料﹐所以小弟在想要使用一個變通的方法來處理﹒ 在您新增資料的時候﹐在存入資料庫之前﹐可用一個變數先將這筆新資料的唯一索引值記錄起來﹐當這筆資料存入資料庫之后﹐再根据這個變數值做一句Locate﹐當完成之后回到資料表瀏覽狀態時﹐現行資料庫指針就會移至這筆新增的記錄上了﹒ P.S 寫完之后﹐發現小弟的想法和Winifred提供的建議差不多﹐這個想法應該可行﹐似乎也沒有違背您的目的﹐所以您可以先試一試再做定論﹗ <><>===================== 努力,相信會獲得美麗! 忻晟>>
------
忻晟 |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 小弟剛才用這個想法試了一下﹐也是可行的﹐如下﹕
procedure TForm1.InsertButtonClick(Sender: TObject); var Remark : String; begin Remark := Edit3.Text; ADOQuery1.Close; ADOQuery1.SQL.Text := 'Insert Into 客戶 (客戶編號) Values (''' Edit1.Text ''')'; ADOQuery1.ExecSQL; ADOQuery1.SQL.Text := 'Select * From 客戶'; ADOQuery1.Open; ADOQuery1.Locate('客戶編號',Remark,[]); end;//[客戶編號]欄位為客戶資料表的唯一索引值﹐Edit1是客戶輸入此值的方塊﹒ //Remark變數作為記錄新增資料錄之唯一索引值﹐以用于Locate查詢﹒ //當ADOQuery做完新增動作﹐并重新Open后﹐再用Locate去查詢這個變數﹒ 參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟 |
swangyong
一般會員 發表:9 回覆:8 積分:3 註冊:2003-07-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |