在DELPHI中,VAL这个函数是做什么用的?具体的功能是什么呢?看帮助信息我也没看明白呀!
还有:下面这个语句对吗?我怀疑有问题,但是他偏偏又能成功运行!
with NhStDataMod.QBrowse.SQL do
begin
Clear;
Add('SELECT val(iif(isnullSpec),'''',spec)),Goods.GoodsNo,Goods.GoodsName,Goods.Unit,'); Add('Goods.Spec,Goods.mCurr,YmStock.*,');
Add('val(format((YmStock.PrevNumber+YmStock.CurInNumber-YmStock.CurFcNumber+YmStock.CurPdNumber),"#.###0.000")) as jc,');
Add('val(format((YmStock.PrevNumber*YmStock.muPrice*YmStock.muChange),"#.###0.000")) as syzj,');
Add('val(format(((YmStock.PrevNumber+CurInNumber+CurPdNumber-CurFcNumber)*YmStock.CurmuPrice*YmStock.muChange),"##0.#,###0.000")) as zj');
Add('FROM Goods INNER JOIN YmStock');
Add('ON Goods.GoodsCode =YmStock.GoodsCode');
Add('where Goods.mCode=:mmCode');
Add('and (YmStock.PrevNumber<>0 or YmStock.CurInNumber<>0)')
end;
代码中的iif是什么东东?程序没错,而且能够正确运行;
还有:下面这个语句对吗?我怀疑有问题,但是他偏偏又能成功运行!
with NhStDataMod.QBrowse.SQL do
begin
Clear;
Add('SELECT val(iif(isnullSpec),'''',spec)),Goods.GoodsNo,Goods.GoodsName,Goods.Unit,'); Add('Goods.Spec,Goods.mCurr,YmStock.*,');
Add('val(format((YmStock.PrevNumber+YmStock.CurInNumber-YmStock.CurFcNumber+YmStock.CurPdNumber),"#.###0.000")) as jc,');
Add('val(format((YmStock.PrevNumber*YmStock.muPrice*YmStock.muChange),"#.###0.000")) as syzj,');
Add('val(format(((YmStock.PrevNumber+CurInNumber+CurPdNumber-CurFcNumber)*YmStock.CurmuPrice*YmStock.muChange),"##0.#,###0.000")) as zj');
Add('FROM Goods INNER JOIN YmStock');
Add('ON Goods.GoodsCode =YmStock.GoodsCode');
Add('where Goods.mCode=:mmCode');
Add('and (YmStock.PrevNumber<>0 or YmStock.CurInNumber<>0)')
end;
代码中的iif是什么东东?程序没错,而且能够正确运行;
在delphi中Val是一个将字符串转换为数字的函数,
Val(S; var V; var Code: Integer)第一个参数是要转换的字符串,第二个参数存放转换后的数字,可以是整数或浮点数,第三个参数存放出错的字符索引值,例如:
Var
V, Code: Integer;
begin
Val('123.445',V,Code);
end;转换后: V = 123, Code = 4,表示字符串'123.445'转换为整数是123,在字符串第4位转换出错
iif 我真的是没有听说过的....??
iif(a, b, c) a就是条件,如果为True,返回b,如果为False,返回c