請問以下的差別 |
答題得分者是:ha0009
|
vivi666666
初階會員 ![]() ![]() 發表:83 回覆:94 積分:35 註冊:2003-03-05 發送簡訊給我 |
請問以下的差別
1:qyTmp:TQuery
SALEITM是第一欄位
請問以下的取欄位值4個表示方式是否相同
qyTmp.Fields[0].AsString
qyTmp['SALEITM'].AsString
qyTmp.Fieldbyname('SALEITM').AsString
DataSet['SALEITM']
2:什麼時候要 qyTmp['SALEITM'].AsString的.AsString是tabel設定時欄位型態嗎?
要轉型時要STRTOFLOAT(qyTmp['SALEITM'].AsString)為FLOAT型態
STRTOFLOAT(qyTmp['SALEITM'])為FLOAT型態,兩者有什麼差別
|
ha0009
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
你好:
一 qyTmp.Fields.Fields [0] 是直接指定第 n 個 Field qyTmp.FieldByName [FieldName] 取出出欄位名稱為 FieldName 的 Field TQuery 是繼承自 TDataset 所以用法一樣。 1. 用名稱比較好記。 2. 有時候相同的欄位位置會不一樣,如你使用 Select A, B 與 Select B, A 雖然資料一樣,但位置就不一樣。 二 當 TDataset Open 時,會根據資料型別建立繼承自 TField 的相關類型,如整數型態就會使用 TIntegerField 類型 所以端看你的 Field 是何種型別,再呼叫何種屬性。下舉例。 Field := qyTmp.Fields.Fields [0]; if (Field is TIntegerField) then result := Field.AsInteger; 你也可以不判斷直接以 Value 方式,因為 Value 是 Variant 型態。 result := qyTmp.Fields.Fields [0].Value; 但有一點要注意的如果你的欄位允許 Null 狀態存在的話,有些狀況你可能要先使用 qyTmp.Fields.Fields [0]IsNull 來判斷。 ![]() ![]() |
suckin
一般會員 ![]() ![]() 發表:13 回覆:26 積分:7 註冊:2003-06-16 發送簡訊給我 |
qyTmp.Fields[0].AsString
qyTmp['SALEITM'].AsString
qyTmp.Fieldbyname('SALEITM').AsString
以上三則會傳回 string 值, 但假如是空值(NULL), 則傳回 '' DataSet['SALEITM']
上面會傳回 string 值, 但假如是空值(NULL), 則傳回 NULL 2:什麼時候要 qyTmp['SALEITM'].AsString的.AsString是tabel設定時欄位型態嗎? Yes , 但某些具有共通的型別可以即時轉型. 要轉型時要STRTOFLOAT(qyTmp['SALEITM'].AsString)為FLOAT型態
STRTOFLOAT(qyTmp['SALEITM'])為FLOAT型態,兩者有什麼差別
身二者都不安全. 當 SALEITEM 為空值時會傳回 Error . 因為 Null 及 '' 都無法轉為 Float , 應該先判斷再執行 STRTOFLOAT
|
vivi666666
初階會員 ![]() ![]() 發表:83 回覆:94 積分:35 註冊:2003-03-05 發送簡訊給我 |
引言: qyTmp.Fields[0].AsString qyTmp['SALEITM'].AsString qyTmp.Fieldbyname('SALEITM').AsString 以上三則會傳回 string 值, 但假如是空值(NULL), 則傳回 '' DataSet['SALEITM'] 上面會傳回 string 值, 但假如是空值(NULL), 則傳回 NULL 2:什麼時候要 qyTmp['SALEITM'].AsString的.AsString是tabel設定時欄位型態嗎? Yes , 但某些具有共通的型別可以即時轉型. 要轉型時要STRTOFLOAT(qyTmp['SALEITM'].AsString)為FLOAT型態 STRTOFLOAT(qyTmp['SALEITM'])為FLOAT型態,兩者有什麼差別 身二者都不安全. 當 SALEITEM 為空值時會傳回 Error . 因為 Null 及 '' 都無法轉為 Float , 應該先判斷再執行 STRTOFLOAT什麼是--->但某些具有共通的型別可以即時轉型. |
ha0009
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
ha0009
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |