各位老大帮帮忙 救救急
用vb调用下面的存储过程时为什么提示 从数据类型 nvarchar 转换为numeric 时出错 ??? 谢谢
USE [SOE006]
GO
/****** 对象: StoredProcedure [dbo].[AddzjSubsidiary] 脚本日期: 05/13/2010 09:41:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER Procedure [dbo].[AddzjSubsidiary]
@ID int,
@Vouchtype nvarchar(50),
@CCode nvarchar(50),
@CustomerCode nvarchar(50),
@DepartCode nvarchar(50),
@EmployeeCode nvarchar(50),
@DDate smalldatetime,
@DispatcharCode nvarchar(50),
@Number decimal(18, 6),
@HaierCode nvarchar(50),
@Marker nvarchar(50),
@Checker nvarchar(50),
@Accounter nvarchar(50),
@AccDate smalldatetime,
@jhdate smalldatetime
AS
insert into zjSubsidiary
select @id,@vouchtype,@ccode,@CustomerCode, @DepartCode, @EmployeeCode, @DDate, @DispatcharCode, @HaierCode, b.providercode,@jhdate,a.productcode,cast(a.number*@number*(b.fquota/100) as decimal(18, 6)),
a.price,cast(a.money*@number*(b.fquota/100) as decimal(18, 6)) ,a.fvagquantity,cast(a.sumfvag*@number*(b.fquota/100) as decimal(18, 6)),@Marker, @Checker, @Accounter, @AccDate from ProductStructures a inner join venandinv b on a.productcode=b.productcode
where a.haiercode=@haiercode
vb的调用如下: 帮忙看看有否问题 谢谢
Dim cmdTEMP As New ADODB.Command
Dim parTEMP As New ADODB.Parameter
Dim RsTemp As New ADODB.Recordset
Dim i As Integer
Dim QM As Currency
For i = 1 To VFG1.Rows - 2
With cmdTEMP
.ActiveConnection = P_connection
.CommandType = adCmdStoredProc
.CommandText = "addCTSubsidiary"
'参数1 主表id
Set parTEMP = .CreateParameter("ID", adBigInt, adParamInput, , RSMain!Id)
.Parameters.Append parTEMP
'参数2 单据类型
Set parTEMP = .CreateParameter("Vouchtype", adVarWChar, adParamInput, 50, "01")
.Parameters.Append parTEMP
'参数3 单据号
Set parTEMP = .CreateParameter("CCode", adVarWChar, adParamInput, 50, TxtFaHuoDanNumber.Text)
.Parameters.Append parTEMP
'参数4 CustomerCode
Set parTEMP = .CreateParameter("CustomerCode", adVarWChar, adParamInput, 50, TxtCustomer.Tag)
.Parameters.Append parTEMP
'参数5 DepartCode
Set parTEMP = .CreateParameter("DepartCode", adVarWChar, adParamInput, 50, TxtBM.Tag)
.Parameters.Append parTEMP
'参数6 业务员
Set parTEMP = .CreateParameter("EmployeeCode", adVarWChar, adParamInput, 50, TxtYWY.Tag)
.Parameters.Append parTEMP
'参数7 单据日期
Set parTEMP = .CreateParameter("DDate", adDate, adParamInput, , DTPChKRQ.Value)
.Parameters.Append parTEMP
'参数8 DispatcharCode
Set parTEMP = .CreateParameter("DispatcharCode", adVarWChar, adParamInput, 50, TxtChKLB.Tag)
.Parameters.Append parTEMP
'参数9 number
Set parTEMP = .CreateParameter("Number", adNumeric, adParamInput, , Val(VFG1.TextMatrix(i, Con_Col_Num)))
parTEMP.Precision = 18
parTEMP.NumericScale = 6
.Parameters.Append parTEMP
'参数10 haiercode
Set parTEMP = .CreateParameter("haiercode", adVarWChar, adParamInput, 50, VFG1.TextMatrix(i, Con_Col_Code))
.Parameters.Append parTEMP
'11 Marker
Set parTEMP = .CreateParameter("Marker", adVarWChar, adParamInput, 50, TxtZhDR.Text)
.Parameters.Append parTEMP
'12
Set parTEMP = .CreateParameter("Checker", adVarWChar, adPar