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

關於 .asFloat 的問題

尚未結案
suzhoukenny
一般會員


發表:7
回覆:8
積分:3
註冊:2006-07-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-09-20 15:37:00 IP:117.82.xxx.xxx 訂閱
請問一下
ParamByName('floatData').AsFloat := StrToFloat(StrPas(floatData));
我這邊這個.AsFloat居然會報錯,,而且我傳參數進去的是floatData:=1.6;

但是我後來改成
ParamByName('floatData').value:= StrPas(floatData);
就正常,不知道為什麼?
是不是電腦的問題?還是其他原因,我目前用的是dbe做為連線db的方式.

感謝好心人幫忙,,指點迷津,
因為ParamByName('floatData').AsFloat := StrToFloat(StrPas(floatData));
已經用了很長時間了,怎麼突然之間就發生問題了,
------
miskenny
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-09-23 10:16:23 IP:60.248.xxx.xxx 未訂閱
錯誤訊息是什麼?
floatData是'1.6',還是裡面還有其它字元?
資料庫的欄位型態還是浮點數(decimal)?

[code delphi]
procedure TForm1.Button1Click(Sender: TObject);
const
floatData: PChar = '1.6'; //'1.6 x';
begin
ClientDataSet1.Append;
ClientDataSet1.FieldByName('floatData').AsFloat:=StrToFloat(StrPas(
floatData));
end;
[/code]
suzhoukenny
一般會員


發表:7
回覆:8
積分:3
註冊:2006-07-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-09-23 10:39:15 IP:61.155.xxx.xxx 訂閱
HI,大俠.

ORA-01480: trailing null missing from STR bind value .

在Insert 的時候出現了此類ORACLE 錯誤.

而且有時候也出現

ORA-01400: cannot insert NULL into ...
PROGRAM:

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
p:pchar;
f:real;
begin
// i:=intToStr(edit1.Text);
//p:='1.5';
// p:=Pchar('1.6');
p:=Pchar(edit1.Text);
// Showmessage(floattostr(strtofloat(StrPas(p))));
f:=StrToFloat(StrPas(p));

showmessage(':' floattostr(f));
//strpas()
query1.Close;
query1.SQL.Clear;
query1.SQL.Add(' insert into ORAT.TESTTABLE (F1,F2,F3,F4,F5,F6,F7) '
' values (''test'', '
' ''test'','
' :test_value, '
' sysdate , '
' ''test'','
' ''test'','
' ''test'' ) ');
query1.ParamByName('test_value').value :=StrToFloat(StrPas(p));
query1.ExecSQL;
query1.close;

end;
// F3 這個欄位是 NUMBER(7,3) 的類型.

edit1.Text:='1.5';
edit1.Text:='1.6';
這2個不同的設定就會有不同的 ORA -ERROR資訊.


------
miskenny
編輯記錄
suzhoukenny 重新編輯於 2008-09-23 10:42:35, 註解 無‧
christie
資深會員


發表:30
回覆:299
積分:475
註冊:2005-03-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-09-23 11:24:55 IP:203.73.xxx.xxx 未訂閱
begin
Query1.Close;
Query1.SQL.Text:='insert into ORAT.TESTTABLE(F1,F2,F3,F4,F5,F6,F7)';
Query1.SQL.Add(Format('values(''%s'',''%s'',%s,sysdate,''%s'',''%s'',''%s'')',['test1','test2',Edit1.Text,'test5','test6','test7']));
Query1.ExecSQL;
end;
------
What do we live for if not to make life less difficult for each other?
suzhoukenny
一般會員


發表:7
回覆:8
積分:3
註冊:2006-07-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-09-23 12:47:35 IP:61.155.xxx.xxx 訂閱
感謝你的回復,

我還想請教關於我發的這個問題,是什麼問題造成的?

能否解釋一下?

謝謝.
------
miskenny
christie
資深會員


發表:30
回覆:299
積分:475
註冊:2005-03-25

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-09-23 14:36:25 IP:203.73.xxx.xxx 未訂閱
var SL:TStringList;
begin
SL:=TStringList.Create;
SL.Add(Query1.SQL.Text);
...........
SL.SaveToFile('TMPSQL.SQL');// 您可以打開文字檔,看SQL的語句,可否單獨執行。
SL.Free
end;
====================================
Query1.ParamByName('test_value').Value := .......因為不易除錯,我現在已經很少用。


===================引 用 suzhoukenny 文 章===================
感謝你的回覆,

我還想請教關於我發的這個問題,是什麼問題造成的?

能否解釋一下?

謝謝.
------
What do we live for if not to make life less difficult for each other?
suzhoukenny
一般會員


發表:7
回覆:8
積分:3
註冊:2006-07-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-09-23 15:20:31 IP:61.155.xxx.xxx 訂閱
Query1.SQL.Text,,,,SQL裡面市不能直接寫 浮點參數進去,所以這樣寫實優點問題的
因為我的第三個欄位是 浮點數.
------
miskenny
christie
資深會員


發表:30
回覆:299
積分:475
註冊:2005-03-25

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-09-24 09:25:48 IP:203.73.xxx.xxx 未訂閱
Hi ~~
若您輸入浮點數在Edit1.Text欄,則

Query1.SQL.Add(Format('%s,''%s''',[Edit1.Text, 'test4']));

何需再StrtoFloat ?


===================引 用 suzhoukenny 文 章===================
Query1.SQL.Text,,,,SQL裡面市不能直接寫 浮點參數進去,所以這樣寫實優點問題的
因為我的第三個欄位是 浮點數.
------
What do we live for if not to make life less difficult for each other?
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#9 引用回覆 回覆 發表時間:2008-10-02 10:14:20 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-04-20 19:48:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!