1
我有一个从MS Access调用时传递一个变量的存储过程。通过的变量是汇率,在0.8到0.999之间变化。当我运行通过SSMS存储过程的一切都是正确的,但如果我从MS Access调用插入表中的FxRate四舍五入到1从MS Access传递Double到存储过程舍入
存储过程(剥离下来一点)是:
CREATE PROCEDURE [dbo].[usp_UpdateSKNDetailMaster]
-- Add the parameters for the stored procedure here
@Fx decimal(4,3),
@Ret int OUTPUT
AS
BEGIN
INSERT INTO dbo.tblFxRate (TRUWeek,FxRate)
VALUES (201412,@Fx)
END
功能调用被(再剥离下来)
Function RefreshSKNDetailMaster(dblFx As Double) As Long
[Connections, sproc anme etc...]
Set param = cmd.CreateParameter("@Fx", dbDecimal, adParamInput, , dblFx)
param.NumericScale = 3
param.Precision = 4
cmd.Parameters.Append param
Set param = cmd.CreateParameter("@Ret", 20, adParamOutput)
cmd.Parameters.Append param
CurrentDb.QueryTimeout = 0
cmd.Execute
RefreshSKNDetailMaster = cmd.Parameters("@Ret")
End Function
表结构:
CREATE TABLE [dbo].[tblFxRate](
[TruWeek] [int] NOT NULL,
[FxRate] [decimal](4, 3) NOT NULL,
[UID] [int] IDENTITY(1,1) NOT NULL
)
Ť他的方法似乎对类似的sprocs很好,但我无法为此工作。我希望我不会错过一些明显的东西!