我有以下用 SQL Server 2008 编写的 SQL 语句,即使表中有数据,它也没有返回 OUTPUT 参数的值。我添加了静态值并单独运行查询并生成了一条记录,所以我不确定它是否与我的存储过程或我的 VB.NET 代码有关。
ALTER Procedure [dbo].[GetGenInfo_Delete01_01_22]
@IDX int,
@FPath varchar(100) OUTPUT
AS
Begin
SELECT @FPath = FilePath FROM GENINFO_E1_01_22 WHERE ID = @IDX
DELETE
FROM GenInfo_E1_01_22
WHERE ID = @IDX
END
我的 VB 代码
Using con As New SqlConnection(connstr)
Using cmd As New SqlCommand()
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "GetGenInfo_Delete01_01_22"
cmd.Parameters.Add("IDX", ID)
cmd.Parameters.Add("@FPath", SqlDbType.VarChar, 100)
cmd.Parameters("@FPath").Direction = ParameterDirection.Output
cmd.Connection = con
con.Open()
GridView1.DataSource = cmd.ExecuteReader()
GridView1.DataBind()
con.Close()
End Using
End Using