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

AsString and Value

尚未結案
liouville
一般會員


發表:4
回覆:4
積分:1
註冊:2003-10-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-30 16:56:53 IP:211.23.xxx.xxx 未訂閱
我在練習資料庫程式的時後,在form上增加了table,database,和DBgrid 元件,並把相關的連結設好後.我在DBgrid的ondlclick事件中 寫以下的程式碼: table1.edit; dbgrid1.selectedfields.asstring := 'aaa'; 和 table1.edit; dbgrid1.selectedfields.value := 'aaa'; 後發現兩者不一樣,前面是你在dbgrid上doubleclick後 dbgrid中的值變成aaa,好像就已經寫入資料表了 而後面的不會 看了help後,不太懂asstring這個property的用途 因為它似乎也可以拿來search使用 但又可以改資料表的值 到底他跟value又差在哪呢?何時會去使用asstring?? 希望有高手能幫我解惑.
cashxin2002
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-30 17:44:12 IP:63.84.xxx.xxx 未訂閱
您好﹗    最簡單的解釋﹐AsString是用在當您已經确定此資料欄位的形態為String(字串形態)時使用﹐而Value可用在當您不确定資料欄位的形態為何時﹐其可是任何的形態﹒    就您的例子來講﹕ DBGrid1.SelectFields.AsString := 'aaa'; 已注明DBGrid1.SelectFields是String(字串)形態﹐后面指定的值當然也需要為String(字串)形態﹐'aaa'即是標准的String(字串)形態值﹒ DBGrid1.SelectFields.Value := 'aaa'; DBGrid1.SelectFields并未注明是何形態欄位﹐所以可用Value來取代﹐允許任何可用的形態值﹐最后的欄位形態由后面的值給予﹐但后面指定的值就需要指明其形態了﹐'aaa'是標准String(字串)形態﹐即說明此欄位為String(字串)形態了﹒ 再假如﹕ DBGrid1.SelectFields.AsInteger := 1234; DBGrid1.SelectFields.Value := 1234; 同樣的解釋﹐前者已知欄位值是Integer(數字)形態﹐而后者尚不知此欄位為何形態﹐需要通過后面的值1234決定其欄位形態 如果您知道其欄位形態﹐建議您盡量使用AsStirng, AsInteger的方法來寫程式碼﹐可以省略其自行判斷這一步驟﹐有增于執行效率﹒ 參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
hagar
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-30 17:58:26 IP:202.39.xxx.xxx 未訂閱
引言: 後發現兩者不一樣,前面是你在dbgrid上doubleclick後 dbgrid中的值變成aaa,好像就已經寫入資料表了 而後面的不會
這個看來有點怪怪的 如果沒有下 Post 指令, 或移動了 record 的 Cursor 應該是不會自動存檔才對. --- Everything I say is a lie.
系統時間:2024-11-25 2:38:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!