存储过程的代码
ALTER PROCEDURE dbo.test
@out_aft_nunn INT OUTPUT,
@out_mObjectNo INT OUTPUTAS
begin
set @out_aft_nunn = 112
set @out_mObjectNo =456
end
程序调用的代码 Dim conn As New SqlClient.SqlConnection(Me.ConnectionString)
Try
Dim myCmd As New SqlClient.SqlCommand myCmd.CommandType = CommandType.StoredProcedure
myCmd.CommandTimeout = 0
myCmd.CommandText = "dbo.test "
myCmd.CommandTimeout = 0
myCmd.Connection = conn
myCmd.Connection.Open()
Dim myDap As New SqlClient.SqlDataAdapter(myCmd) myDap.SelectCommand.Parameters.Add(("@out_aft_nunn"), SqlDbType.Int).Value = 5
myDap.SelectCommand.Parameters.Add(("@out_mObjectNo"), SqlDbType.Int).Value = 6 myCmd.ExecuteNonQuery()
Dim obj2 As Integer = CInt(myCmd.Parameters(1).Value)
Dim obj1 As Integer = CInt(myCmd.Parameters("@out_mObjectNo").Value)
Catch ex As Exception
Throw
Finally
conn.Close()
End Try 'Return "0"
End Function
以上的代码,调用的存储过程中有多个出参,用.net调用取得的值为什么是我入参的值呢
ALTER PROCEDURE dbo.test
@out_aft_nunn INT OUTPUT,
@out_mObjectNo INT OUTPUTAS
begin
set @out_aft_nunn = 112
set @out_mObjectNo =456
end
程序调用的代码 Dim conn As New SqlClient.SqlConnection(Me.ConnectionString)
Try
Dim myCmd As New SqlClient.SqlCommand myCmd.CommandType = CommandType.StoredProcedure
myCmd.CommandTimeout = 0
myCmd.CommandText = "dbo.test "
myCmd.CommandTimeout = 0
myCmd.Connection = conn
myCmd.Connection.Open()
Dim myDap As New SqlClient.SqlDataAdapter(myCmd) myDap.SelectCommand.Parameters.Add(("@out_aft_nunn"), SqlDbType.Int).Value = 5
myDap.SelectCommand.Parameters.Add(("@out_mObjectNo"), SqlDbType.Int).Value = 6 myCmd.ExecuteNonQuery()
Dim obj2 As Integer = CInt(myCmd.Parameters(1).Value)
Dim obj1 As Integer = CInt(myCmd.Parameters("@out_mObjectNo").Value)
Catch ex As Exception
Throw
Finally
conn.Close()
End Try 'Return "0"
End Function
以上的代码,调用的存储过程中有多个出参,用.net调用取得的值为什么是我入参的值呢
解决方案 »
- SQL求和小问题
- 安装MS SQL时出现这样的问题,请问这么解决!!!! 急。。。。。
- 菜鸟问一个简单的存储过程题。请大家帮助!!
- 求教3条库存更新的SQL语句
- 关于数据库大小写问题
- 再请教 MSSQL2005 深度计算多版本bom单价
- 如何让多表查询select 语句效率更加高?(新手分数不多,给5分,请不要嫌弃,我一定结贴的!!!)
- 急!!!谁有SQLserver2000的安装序列号,在线等!
- 请问使用SQL Server,SqlSvr内存空间一直在增加的解决办法
- 关于PARADOX与ACCESS表的主键的问题
- SSIS包中控制流 Foreach容器里有个执行SQL任务,出错后怎么跳过继续执行
- MSSQL 如何修复 表
myDap.SelectCommand.Parameters.Add(("@out_mObjectNo"), SqlDbType.Int).Value = 6
输入参数
你赋值?
myDap.SelectCommand.Parameters.Add(("@out_mObjectNo"), SqlDbType.Int).Value = 6
是赋初期值得,这两个参数在存储过程是出参
Try
Dim myCmd As New SqlClient.SqlCommand myCmd.CommandType = CommandType.StoredProcedure
myCmd.CommandTimeout = 0
myCmd.CommandText = "dbo.test "
myCmd.CommandTimeout = 0
myCmd.Connection = conn
myCmd.Connection.Open()
myCmd.Parameters.AddWithValue("@out_aft_nunn", SqlDbType.Int)
myCmd.Parameters("@out_aft_nunn").Direction = ParameterDirection.Output
myCmd.Parameters.AddWithValue("@out_mObjectNo", SqlDbType.Int)
myCmd.Parameters("@out_mObjectNo").Direction = ParameterDirection.Output
myCmd.ExecuteNonQuery()
Dim obj2 As Integer = myCmd.Parameters("@out_aft_nunn").Value
Catch ex As Exception
Throw
Finally
conn.Close()
End Try
默认的是输入的
带output是输出的如果你想指定默认值
参数就可以直接指定或者多弄几个参数内部转换