Hola a todos en el foro, quisiera ver si alguien me puede ayudar, estoy trabajando en un sistema de facturación en vb.net 2002 y lo que quiero hacer es ejecutar un procedimiento almacenado varias veces, he intentado con un ciclo for pero me da error, el procedimiento almacenado es el siguiente:

CREATE PROCEDURE [dbo].[AumentarExistencia]
@pro varchar(50), /* codigo del producto
@c float /* cantidad del producto
AS
Update Producto
Set Caintidad_Existente = Caintidad_Existente + @c
WHERE CodProducto = @pro
GO

Lo que hace este procedimiento es que cuando quiero cancelar todos los pedidos de la factura que tengo en mi datagrid aumente el stock de mi tabla producto de cada uno.

Como pueden ver declaro dos variables una es la cantidad de producto y la otra es el codigo para que actualize la cantidad del producto con el codigo que paso desde mi WinForm en VB.Net

el codigo que tengo en el boton es este:

Dim CicloPro As New SqlCommand("AumentarExistencia", cn) /* cn es mi coneccion a la bd */
CicloPro.CommandType = CommandType.StoredProcedure

Dim ct As Integer

/* Aca seleciono los detalles de la factura que tengo en mi factura actual
Dim daDevolverProd As New SqlDataAdapter("select * from DetalleFactura Where NumFactura ='" & tbNumFact.Text & "'", cnVistaFact)

Dim dsDevProd As New DataSet()
dsDevProd.Clear()
daDevolverProd.Fill(dsDevProd, "DetalleFactura")

/* Aca declaro los parametros que voy a enviar al Proc almacenado
Dim pprod As SqlParameter /*este es el codigo
Dim pcol As SqlParameter /* esta la cantidad


Try
/* Aca con este for le digo que recorra todas filas de la tabla DetalleFactura y le asigno a los parametros que declare todos los valores de cada campo codigo y cantidad de producto que tengo en mi tabla detalle (factura actual)
For ct = 0 To dsDevProd.Tables("DetalleFactura").Rows.Count - 1
pprod = New SqlParameter("@pro",dsDevProd.Tables("DetalleFactu ra").Rows.Item(ct).Item("CodProducto"))
pcol = New SqlParameter("@c", dsDevProd.Tables("DetalleFactura").Rows.Item(ct).I tem("CantProducto"))

/* por ultimo lo mando a ejecutar pero aca es donde me da el error.
Try
cn.Close()
cn.Open()

CicloPro.Parameters.Add(pprod)
CicloPro.Parameters.Add(pcol)

CicloPro.ExecuteNonQuery()
CicloPro.Dispose()
CicloPro = Nothing
cn.Close()
CicloPro.CreateParameter()
Catch ex As Exception
End Try


Si alguien me puede ayudar porfis se lo agradeceria muxo, el sistema lo entrego en 3 dias y es lo unico que me falta.

De antemano Gracias