全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1684
推到 Plurk!
推到 Facebook!

如何轉換 variant to Double

答題得分者是:cancer
superrakce
一般會員


發表:24
回覆:35
積分:11
註冊:2006-10-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-05-17 12:03:51 IP:114.33.xxx.xxx 訂閱

[code delphi]
for i:= 0 to MyAdoquery.Parameters.Count -1 do memo1.Lines.Add(retnull(MyAdoquery.Parameters[i].Name ' ' MyAdoquery.Parameters.Items[i].Value));

function TAMFrame.retnull(s: variant): string;
var ss:string;
begin
if (s =null) then result := ''
else begin
if (VarType(s) =varDouble ) then ss := floattostr(s)
else ss:= VarToStr(s);
result := VarToStr(s);
end;

[/code]
因為資料庫存取上有問題,所以想列出所有的Parameters的變數名及值
卻遇上了:Could not convert variant of type (OldStr) into type (Double) 的錯誤?
該如何轉換成String 輸出到memo 上呢?

cancer
高階會員


發表:58
回覆:319
積分:190
註冊:2004-07-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-05-17 19:45:10 IP:220.128.xxx.xxx 未訂閱
Hi, retnull() 有判斷 null,但沒有用,因為您傳入 (MyAdoquery.Parameters[i].Name +'    ' + MyAdoquery.Parameters.Items[i].Value) 給它,這個引數不會是空值,至少那幾個空格不是空值。
要判斷 MyAdoquery.Parameters.Items[i].Value 才對,它可能是 null 值,應該不會自動轉換成空字串,所以出錯了。
superrakce
一般會員


發表:24
回覆:35
積分:11
註冊:2006-10-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-05-18 09:25:32 IP:114.33.xxx.xxx 訂閱
原來是括號放錯邊....
感謝提醒,不然真不知道這盲點要多久才會看到
系統時間:2024-11-25 19:27:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!