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

欄位屬性Null

尚未結案
20052020
初階會員


發表:121
回覆:79
積分:40
註冊:2005-01-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-15 19:26:46 IP:61.59.xxx.xxx 未訂閱
請問各位大大 請問該如何設定dBASE IV ,Type為character的欄位屬性為可以容許不輸入資 料 欄位內容一般是要輸入資料的~但有一些資料不一定會有資料~所以此欄位會沒有資料的~但是下次叫到這一筆就會當機~ 那欄位該如何設定欄位內容~容許資料可有可無~又不會當機~~~ 我是過 Query1.Fields[2].Value:=Null; 可以存但不可以改或刪除 感謝
------
Xax
scotthsiao
高階會員


發表:13
回覆:324
積分:147
註冊:2005-02-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-16 08:44:40 IP:210.66.xxx.xxx 未訂閱
試試 Query1.FieldByName('fieldname').AsString := '' ; Delphi 在判斷 NULL 值時會發生誤解,最好指定格式。
mason88
一般會員


發表:8
回覆:17
積分:5
註冊:2005-08-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-16 08:57:25 IP:218.15.xxx.xxx 未訂閱
这是因为Null值不能够被转换为Integer或String(你只要看看出错的提示就能明白)。建议你用if语句: if Query1.FieldValues[2] = Null then Query1.FieldbyName[2].AsString := '0'; 發表人 - mason88 於 2005/08/16 09:40:06
mason88
一般會員


發表:8
回覆:17
積分:5
註冊:2005-08-01

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-08-16 09:00:10 IP:218.15.xxx.xxx 未訂閱
引言: 这是因为Null值不能够被转换为Integer或String(你只要看看出错的提示就能明白)。建议你用if语句: if Query1.FieldValues[2] = Null then Query1.FieldbyName[2].AsString := '0';
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-08-16 09:48:34 IP:222.248.xxx.xxx 未訂閱
我建了一個dBASE IV表試驗了一下,是可以通過Query1.Fields[2].Value:=Null;插入空值的,并沒有出現您所述的不可以改或刪除。 能否更詳細的描述一下您的程序。 Query1.Fields[2].AsString:='' 與 Query1.Fields[2].Value:=Null(或AsVariant:=NULL) 的效果是一樣的。 因為您使用if Query1.Fields[2].AsVariant = NULL then 與 if Query1.Fields[2].AsString = '' then 都會返回True值! ---------------------------- 於Delphi K.Top之上 博采眾家之長, 奉獻綿薄之力 --------------------------- 發表人 - h@visli 於 2005/08/16 09:53:05
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
scotthsiao
高階會員


發表:13
回覆:324
積分:147
註冊:2005-02-01

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-08-16 10:39:31 IP:211.74.xxx.xxx 未訂閱
在我的經驗中,使用 ADO 連接資料庫時,如果用 AsVariant 卻遇上 null 時,必定會回傳錯誤。 請問 h@visli 大大用的是 ADO 嗎? 還是 BDE ?
mason88
一般會員


發表:8
回覆:17
積分:5
註冊:2005-08-01

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-08-16 12:03:24 IP:218.15.xxx.xxx 未訂閱
呵呵,我也是想当然,还没有试过。如果不可行,还请原谅。 也可能是在建立New Table的时候,将2栏位设为Required Field了,因此不允许其为空值。如果是这样,则只要去掉这个属性就可以。
20052020
初階會員


發表:121
回覆:79
積分:40
註冊:2005-01-18

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-08-19 12:53:36 IP:61.59.xxx.xxx 未訂閱
------
Xax
系統時間:2024-11-25 9:20:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!