Forums Últimos mensajes - Powered by IBM
 

Parámetros a un storeProc

06/12/2004 - 13:21 por Tio | Informe spam
¡Hola!

Tengo unos problemas cuando quiero llamar a un StoreProc que inserta los
parámetros en una tabla de la base de datos.

El paso de parámetros lo hago con un Sqlcommand tal que así:

cmd.Parameters["@IDArticulo"].Value = tbCodigo.Text;

cmd.Parameters["@Descripción"].Value = tbDescripcion.Text;

cmd.Parameters["@Unidades"].Value = tbUnidades.Text;

cmd.Parameters["@Precio"].Value=tbPrecio.Text;

cmd.Parameters["@StockMin"].Value = tbStock.Text ;

cmd.Parameters["@Nota"].Value = tbNota.Text ;

cmd.ExecuteScalar();





ahora bien, simpre me dice que el formato de los parámetros no es correcto
si paso cadenas vaciás, del tipo ""



El procedimiento almacenado es este:



/* Errores:
0: OK
1: Código ya existe
2: No ha especificado código
*/
CREATE PROCEDURE dbo.sp_ARTICULOS_INSERTAR

@IDArticulo varchar (13),
@descripción varchar (45),
@unidades int,
@precio money,
@stockMin int,
@nota varchar (1000)

as

if @IDArticulo = null
return 2 /* No ha especificado código*/

if exists (select IDArticulo from Articulos where IDArticulo = @IDArticulo)
return 1

if @unidades = null
set @unidades = 0

if @precio = null
set @precio = 0

if @stockMin = null
set @stockMin = 0

insert Articulos (IDArticulo, Descripción, precio,unidades,stockMin,nota)
values (@IDArticulo, @descripción,@precio,@unidades,@stockMin,@nota)
GO
 

Leer las respuestas

#1 Gustavo Larriera [MVP]
06/12/2004 - 13:39 | Informe spam
Si bien este foro no es un foro dedicado a temas de programación Visual
Basic, creo entender en tu código que te has olvidado de convertir los
valores de los textos a los formatos numéricos adecuados. Por ejemplo,
@Unidades usa un valor entero pero creo que en tu código le has asignado un
valor texto.

Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Tio" wrote in message
news:
¡Hola!

Tengo unos problemas cuando quiero llamar a un StoreProc que inserta los
parámetros en una tabla de la base de datos.

El paso de parámetros lo hago con un Sqlcommand tal que así:

cmd.Parameters["@IDArticulo"].Value = tbCodigo.Text;

cmd.Parameters["@Descripción"].Value = tbDescripcion.Text;

cmd.Parameters["@Unidades"].Value = tbUnidades.Text;

cmd.Parameters["@Precio"].Value=tbPrecio.Text;

cmd.Parameters["@StockMin"].Value = tbStock.Text ;

cmd.Parameters["@Nota"].Value = tbNota.Text ;

cmd.ExecuteScalar();





ahora bien, simpre me dice que el formato de los parámetros no es correcto
si paso cadenas vaciás, del tipo ""



El procedimiento almacenado es este:



/* Errores:
0: OK
1: Código ya existe
2: No ha especificado código
*/
CREATE PROCEDURE dbo.sp_ARTICULOS_INSERTAR

@IDArticulo varchar (13),
@descripción varchar (45),
@unidades int,
@precio money,
@stockMin int,
@nota varchar (1000)

as

if @IDArticulo = null
return 2 /* No ha especificado código*/

if exists (select IDArticulo from Articulos where IDArticulo =
@IDArticulo)
return 1

if @unidades = null
set @unidades = 0

if @precio = null
set @precio = 0

if @stockMin = null
set @stockMin = 0

insert Articulos (IDArticulo, Descripción, precio,unidades,stockMin,nota)
values (@IDArticulo, @descripción,@precio,@unidades,@stockMin,@nota)
GO



Preguntas similares