テーブルにデータがあるにもかかわらず、OUTPUT パラメータの値を返さない SQL Server 2008 で記述された次の SQL ステートメントがあります。静的な値を追加し、クエリを単独で実行したところ、レコードが生成されたので、ストアド プロシージャまたは 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