1
我的存储过程:检索输出参数从存储过程OLEDB命令vb.net
PROCEDURE [dbo].[addMasterTransaksi]
@kodeSuplier varchar(10),
@Total money,
@kodeUser varchar(10),
@isLunas varchar (2),
@Dp money,
@kodeTrans varchar(10) output
AS
BEGIN
Declare @KdTrans as varchar(10);
Declare @Kode as int;
Declare @thisYear as varchar(10);
select @thisyear = RIGHT(YEAR(getDate()),2)
SELECT TOP(1) @KdTrans = SUBSTRING(kodeTransaksi,5,6) FROM TblMasterPembelian WHERE YEAR(Tanggal) = YEAR(getDate()) order by kodeTransaksi desc;
--print @KdTrans
IF @KdTrans IS Null
SET @KdTrans = 'TB'+ @thisYear +'000001'
else
begin
select @Kode = convert(int,@KdTrans);
select @Kode = @Kode + 1;
select @KdTrans = convert(int,@Kode);
select @KdTrans = '00000' + @KdTrans;
select @KdTrans = right(@KdTrans,6)
select @KdTrans ='TB' + @thisYear + @KdTrans
end
SET NOCOUNT ON;
--ke Master Pembelian
INSERT INTO TblMasterPembelian(kodeTransaksi,Tanggal,Total,kodeSuplier,kodeUser,isLunas,DP)
VALUES (@KdTrans,getDate(),@Total,@kodeSuplier,@kodeUser,@isLunas,@Dp)
set @kodeTrans [email protected]
--print @kodeTrans
return @kodetrans
END
VB.NET代码:
Public Function addMasterPembelianny(ByVal kodesup As String, ByVal total As Long, ByVal kodeUser As String, ByVal isLunas As String, ByVal dp As Long)
Dim kodeTransaksi As String
modKoneksi.bukaKoneksi()
command.Connection = modKoneksi.koneksidb
command.CommandType = CommandType.StoredProcedure
command.CommandText = "addMasterTransaksi"
command.Parameters.Add("@kodeSuplier", OleDbType.VarChar, 10, ParameterDirection.Input).Value = kodesup
command.Parameters.Add("@Total", OleDbType.BigInt, 10, ParameterDirection.Input).Value = total
command.Parameters.Add("@kodeUser", OleDbType.VarChar, 10, ParameterDirection.Input).Value = kodeUser
command.Parameters.Add("@isLunas", OleDbType.VarChar, 2, ParameterDirection.Input).Value = isLunas
command.Parameters.Add("@Dp", OleDbType.BigInt, 10, ParameterDirection.Input).Value = dp
command.Parameters.Add("@kodeTrans", OleDbType.Char, 10)
command.Parameters("@kodeTrans").Direction = ParameterDirection.Output
command.ExecuteReader()
kodeTransaksi = command.Parameters("@kodeTrans").Value
modKoneksi.tutupKoneksi()
Return kodeTransaksi
End Function
我有问题时,我想从一个存储检索参数过程..
当运行该代码,出现这样的消息的错误..
Conversion failed when converting the varchar value 'TB13000005' to data type int.
他们为什么说失败转换为数据类型int ??
我的代码有什么问题..?
高手帮我请..
非常感谢nkvu .. 我的问题解决了.. 我以前不知道“返回”只返回整数.. 谢谢。 –