線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1263
推到 Plurk!
推到 Facebook!

ADOQuery寫法的差別..

尚未結案
yoyo12345
一般會員


發表:33
回覆:77
積分:22
註冊:2003-03-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-18 16:14:43 IP:61.220.xxx.xxx 未訂閱
aa:=ADOQuery1.FieldByName('field').AsString; aa:=ADOQuery1.FieldByName('field').Value; aa:=ADOQuery1['field']; 一樣都是取值 請問這三個種寫法有什麼差別?謝謝!!
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-18 16:25:13 IP:210.243.xxx.xxx 未訂閱
asstring 將資料欄位的值轉為string value 則根據資料欄位的實際型態轉換,數字就是數字,字串就是字串,其實就是用variant來運作的 ['field'] 沒這樣用過不知道... Fear is the path to the dark side. Fear leads to anger.Anger leads to hate.Hate leads to suffering....
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-18 16:38:44 IP:63.84.xxx.xxx 未訂閱
您好﹗    aa := ADOQuery.FieldByName('field').AsString; 傳回值為字串型態﹐也就是說a變數也需要是字串形態變數 aa := ADOQuery1.FieldByName('field').Value; 傳回值為Variant形態﹐同hahalin版主所言﹐會根据傳回值來做判斷﹐aa也需要是Variant形態變數﹐但這種方法有一個缺點﹐如果傳回值為Null﹐a又為字串形態變數的話﹐就會出錯﹐因為字串形態無法接收Null的值﹐所以如果為字串形態的話﹐建議使用第一種方法(AsString) aa := ADOQuery['field']; 小弟不知您是否筆誤﹐如下﹕ aa := ADOQuery.Field[N].AsString; 這個方法适用于欄位值為未知的狀態﹐N代表欄位的Index Number(以0開始計算)﹐aa也需要是字串形態變數 aa := ADOQuery.FieldValues['field']; 這里的FieldValues屬性的傳回值同上第二種方法﹐也是Variant形態﹐會根据所得的值自動判斷其資料形態 參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟 發表人 - cashxin2002 於 2003/09/18 16:46:43
------
忻晟
yoyo12345
一般會員


發表:33
回覆:77
積分:22
註冊:2003-03-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-09-18 17:23:34 IP:203.69.xxx.xxx 未訂閱
耶...真的沒有這種寫法嗎? aa := ADOQuery['field']; 我曾在別人的程式中看到....
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-09-18 17:32:48 IP:63.84.xxx.xxx 未訂閱
您好﹗    小弟至今尚未有這個屬性的印象﹒ 您是在><>===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-09-18 17:42:34 IP:202.39.xxx.xxx 未訂閱
引言: 耶...真的沒有這種寫法嗎? aa := ADOQuery['field']; 我曾在別人的程式中看到....
有這樣的寫法, 不過需在 Field Editor 內有設此 Field --- 歡迎光臨 KTop 研究院
a6475
高階會員


發表:67
回覆:230
積分:154
註冊:2002-09-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-09-18 17:43:16 IP:61.229.xxx.xxx 未訂閱
aa := ADOQuery['field']; 可以用啦。我都是用這種懶人寫法。 在Delphi 4業界標準手冊實用篇(翻箱倒櫃找出來) 有提到這種用法。 依作者的說明來看應該和 aa:=ADOQuery1.FieldByName('field').Value; 是差不多的。    ..-----------βλμε------------..
◎Oo月夜 光明 藍更愁oO◎
藍調月光城v4:http://inping.myweb.hinet.net/ (暫時使用中..) 明日報(藍調.月光):http://mypaper2.ttimes.com.tw/user/a6475
------
月夜 光明 藍更愁
yoyo12345
一般會員


發表:33
回覆:77
積分:22
註冊:2003-03-19

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-09-19 09:54:13 IP:203.69.xxx.xxx 未訂閱
呵~~謝謝各位!! 我後來去翻Delphi 4業界標準手冊實用篇 它裡面真的有提到aa := ADOQuery['field']; 等於FieldValues[],傳回Variant型態的欄位值。
yoyo12345
一般會員


發表:33
回覆:77
積分:22
註冊:2003-03-19

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-09-19 09:57:50 IP:61.220.xxx.xxx 未訂閱
感謝a6475前輩翻箱倒櫃找出來..及其他人的解說 不過分數只能給一人...
a6475
高階會員


發表:67
回覆:230
積分:154
註冊:2002-09-15

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-09-19 22:13:15 IP:61.229.xxx.xxx 未訂閱
引言: 感謝a6475前輩翻箱倒櫃找出來..及其他人的解說 不過分數只能給一人...
我不是前輩啦。 人家很幼齒的 下次叫我小弟弟就好了^_^ ..-----------βλμε------------..
◎Oo月夜 光明 藍更愁oO◎
藍調月光城v4:http://inping.myweb.hinet.net/ (暫時使用中..) 明日報(藍調.月光):http://mypaper2.ttimes.com.tw/user/a6475
------
月夜 光明 藍更愁
系統時間:2024-06-26 10:13:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!