07/12/2012, 13:04
|
| | | Fecha de Ingreso: febrero-2008
Mensajes: 65
Antigüedad: 16 años, 9 meses Puntos: 1 | |
Problema con variable de excepcion en procedimiento almacenado Buenas tardes, resulta que estoy haciendo una aplicación por medio de visual basic.net y sql server 2008, en sql server he hecho el siguiente PA para que me registre un nuevo usuario, utilizo 2 tablas ya que en una guarda el nivel y area a la q pertenecera una vez insertado ahi jalo el ID y en la otra tabla guardo los demás datos junto con el ID:
Código:
USE [seder]
GO
/****** Object: StoredProcedure [dbo].[nvousuario] Script Date: 12/06/2012 15:52:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
---nvousuario
ALTER proc [dbo].[nvousuario]
@nombre_desplegar nchar(15),
@usuario nchar(15),
@pass nchar(15),
@titulo nchar(10),
@apep nchar(15),
@apem nchar(15),
@nombre nchar(15),
@email nchar(15),
@telefono_of nchar(15),
@cel1 nchar(15),
@cel2 nchar(15),
@nivel nchar(15),
@area nchar(15),
@id_nivel int
AS
-- Parámetros de salida
DECLARE @msg1 varchar(255)
BEGIN
SET NOCOUNT ON;
Begin Tran Tadd
Begin Try
INSERT INTO tbl_nivel_area(nivel, area)VALUES(@nivel, @area)
SELECT @@IDENTITY as id_nivel
INSERT INTO tbl_usuario(nombre_desplegar, email, usuario, pass, titulo,apep, apem, nombre,
telefono_of, cel1, cel2, id_na)
VALUES(@nombre_desplegar, @email, @usuario, @pass, @titulo, @apep, @apem, @nombre,
@telefono_of, @cel1, @cel2, @id_nivel)
SET @msg1 = 'El usuario se registro correctamente.'
COMMIT TRAN Tadd
End try
Begin Catch
SET @msg1 = 'Ocurrio un Error: ' + ERROR_MESSAGE() + ' en la línea ' + CONVERT(NVARCHAR(255), ERROR_LINE() ) + '.'
Rollback TRAN Tadd
End Catch
END
y al momento de ejecutar me sale el siguiente error:
Procedure or Function 'nvousuario' expects parameter '@msg1', which was not supplied
aqi les dejo el codigo q tengo en el boton que me GUARDA EL NVO USUARIO:
Código:
Imports System.Data.SqlClient
Imports System.Data
Public Class Form2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim cmd As SqlCommand
Dim dr As SqlDataReader
Try
'abrir la conexion
con.Open()
cmd = New SqlCommand("nvousuario", con)
cmd.CommandType = 4
With cmd.Parameters
.AddWithValue("@nombre_desplegar", nombre_desplegar.Text.ToString)
.AddWithValue("@usuario", usuario.Text.ToString)
.AddWithValue("@pass", pass.Text.ToString)
.AddWithValue("@titulo", titulo.Text.ToString)
.AddWithValue("@apep", apep.Text.ToString)
.AddWithValue("@apem", apem.Text.ToString)
.AddWithValue("@nombre", nombre.Text.ToString)
.AddWithValue("@email", email.Text.ToString)
.AddWithValue("@telefono_of", telefono_of.Text.ToString)
.AddWithValue("@cel1", cel1.Text.ToString)
.AddWithValue("@cel2", cel2.Text.ToString)
.AddWithValue("@nivel", nivel.Text.ToString)
.AddWithValue("@area", area.Text.ToString)
End With
dr = cmd.ExecuteReader
If dr.HasRows = True Then
MsgBox("El usuario se registro exitosamente", vbInformation)
Else
MsgBox("No se pudo guardar el usuario..", vbInformation)
nombre_desplegar.Text =
usuario.Text =
nombre_desplegar.Text =
usuario.Text =
pass.Text =
titulo.Text =
apep.Text =
apem.Text =
nombre.Text =
email.Text =
telefono_of.Text =
cel1.Text =
cel2.Text =
nombre_desplegar.Focus()
End If
Catch ex As Exception : MsgBox(ex.Message)
End Try
con.Close()
End Sub
End Class
cualqier orientación les estoy muy agradecida ....
__________________ UN PUEBLO IGNORANTE, ES INSTRUMENTO DE SU PROPIA DESTRUCCIÓN... |