栏位1/栏位2,分母为0 |
尚未結案
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi: 你可以使用計算欄位,並於 OnCalcFields 欄位中,計算出 filed3 的值
procedure TForm1.ClientDataSet1CalcFields(DataSet: TDataSet); begin if dataset.FieldByName('Field2').AsInteger = 0 then DataSet.FieldByName('Field3').AsString := '分母為0或空' else DataSet.FieldByName('Field3').AsString := FloatToStr(DataSet.FieldByName('Field1').AsInteger / DataSet.FieldByName('Field2').AsInteger); end;或是可以直接在 SQL 語法中使用 Case 指令 [code] select Filed1, Filed2 case when Filed2 = 0 then 'filed2 為零' when Filed2 is null then 'Field2 為空' else convert(char,Filed1/Filed2) end from Table [/cdeo] -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman |
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
引言: Hi: 問題應該出在你的第三個欄位值(DZPJE),因為 '分母為0或空' 為VARCHAR 而 (XHZEJ / THZJE) 則為 FLOAT,因此建議將 (XHZEJ / THZJE) CONVERT 為字串,讓前後之指定型態一致 --------------------------------谢谢各位大大,我已试出来了,如下: Select xhzje, thzje, (Case when ISNULL(thzje, 0) = 0 then '分母为0或空' else convert(char,xhzje/thzje) end) as F3 from xsrbb 另:fishman大大第一篇回应中"select field1,field2"后面忘了加“,”,这样才能使用 由于我入行还短,我还想再问一下,fishman大大第一种方法中"OnCalcFields"的含义是什么?我只用了adotable和adoquery,,我平时没用过OnCalcFields,查了资料写得不太明白,我试不出来,谢谢! |
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi: luowy651,打錯字,應該是
你可以使用計算欄位,並於 OnCalcFields 事件中,計算出 filed3 的值 此用法事先行定義 DataSet 的各個 Field,並增加一個 Calculated Field,然後在DataSet 的 OnCalcFields 事件中,以 Delphi 的語法,將 Calculated Field 的值計算出來
procedure TForm1.ClientDataSet1CalcFields(DataSet: TDataSet); begin if Dataset.FieldByName('THZJE').AsInteger = 0 then DataSet.FieldByName('THZJE').AsString := '分母為0或空' else DataSet.FieldByName(DZPJE').AsString := FloatToStr(DataSet.FieldByName('XHZEJ').AsInteger / DataSet.FieldByName('THZJE').AsInteger); end;-------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman |
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |