我在使用TADOQuery做查詢時的參數是如下設定的
Parameter.ParamByName('fname').Value:=Edit1.text;
問題出現於,如果Edit1.text是空值的話
執行SQL語句,則報非法精度數值錯誤.請教各位大哥如何解決.不可能所有的欄位都要user必填吧
謝謝!
Parameter.ParamByName('fname').Value:=Edit1.text;
問題出現於,如果Edit1.text是空值的話
執行SQL語句,則報非法精度數值錯誤.請教各位大哥如何解決.不可能所有的欄位都要user必填吧
謝謝!
这样就可以了
else Parameter.ParamByName('fname').Value:=Edit1.text;
Parameter.ParamByName('fname').Value:= 0
Else
Parameter.ParamByName('fname').Value:= StrToInt(Trim(Edit1.text));
上面的寫法好象是不對的.
用IF Trim(Edit1.Text)='' then
Parameter.ParamByName('fname').Value:= 0是不是太麻煩了,一個project中的語句都要這樣寫是不是太浪費時間了有沒有更好的辦法
function TxtToNum(const sTxt: String): Extended;
begin
Result := 0;
try
Result := StrToFloat(Trim(sTxt));
except
end;
end;使用的时候
Parameter.ParamByName('fname').Value:=TxtToNum(TEdit1.text);
function TxtToNum(const sTxt: String): string;
begin
if stxt='' then
begin
Result:=#0;//可以是一些特殊字符如#10也可以
end
else
begin
Result:=Stxt;
end;
end;