我在SQL Server 2008中有以下存储过程,它不会在SQL中产生任何错误,但会在Web应用程序中生成一个,其中声明“'GetGenInfo_Delete01_01_22''期望参数'@ FPath',不提供“。我是SQL的新手,但我想要做的是在删除行之前将字段返回给VB.NET。任何建议都会非常有帮助。使用SQL输出和ASP.NET时出现代码错误
ALTER Procedure [dbo].[GetGenInfo_Delete01_01_22]
@IDX int,
@FPath varchar(100) OUTPUT
AS
Begin
SELECT @FPath = (SELECT FilePath FROM GenInfo_E1_01_22 Where [email protected])
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)
Dim returnParameter = cmd.Parameters.Add("@FPath", SqlDbType.VarChar)
returnParameter.Direction = ParameterDirection.ReturnValue
cmd.Connection = con
con.Open()
GridView1.DataSource = cmd.ExecuteReader()
GridView1.DataBind()
con.Close()
End Using
End Using
我以后returnParameter.Direction = ParameterDirection.ReturnValue 加入cmd.Parameters.Add(returnParamter),但我收到的调试说明SqlParameter有一个错误已被另一SqlParameterCollection遏制。 – 2013-05-14 18:44:48
您可以发布更新的代码吗? – 2013-05-14 18:50:04
已更新的代码在原始帖子中 – 2013-05-14 18:52:45