Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/04/2007, 18:29
Avatar de Coala
Coala
 
Fecha de Ingreso: marzo-2007
Ubicación: Chile/Santiago
Mensajes: 150
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Error Try Catch

El problema es que cuando apreto el boton que deveria generar el insert me arroja error el cual es capturado por try catch.
El procedimiento lo probe en el analizador de consulta y anda perfecto , me inserta simultaneamente en las dos tablas pero cuando lo ejecuto desde la aplicacion ,da error.
Tambien probe el procedimiento de forma individuales (uno que me ingresa los datos del cliente y otro que me ingresa los del vendedor) en donde a cada uno le asigno un boton para asi serciorarme que pueda ser y me inserta sin problemas.
Pero cuando de los dos procedimientos hago uno no funciona
¿Estara mal realizado?


aqui el code para ver que puede haber mmalo.

Código:
Dim mi_conec As SqlClient.SqlConnection
        Dim mi_comando As SqlClient.SqlCommand

        Dim resp As DialogResult

        If MessageBox.Show("Los Datos se Grabaran estas Seguro ", "Advertencia", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) = DialogResult.Yes Then

            Dim mi_consulta As String = "execute cliente_ingresa_cliente '" & TextBox7.Text.Trim & "','" & TextBox1.Text.Trim & "','" & TextBox2.Text.Trim & "','" & TextBox3.Text.Trim & "','" & ComboBox3.Text.Trim & "','" & TextBox5.Text.Trim & "','" & ComboBox2.Text.Trim & "','" & TextBox10.Text.Trim & "','" & TextBox9.Text.Trim & "',"
            MessageBox.Show(mi_consulta)'para ver que estoy mandando



            Try

                mi_conec = New SqlClient.SqlConnection(cadena_conec)
                mi_comando = New SqlClient.SqlCommand

                mi_conec.Open()

                mi_comando.CommandType = CommandType.Text
                mi_comando.CommandText = mi_consulta
                mi_comando.Connection = mi_conec

                If mi_comando.ExecuteNonQuery Then
                    MessageBox.Show(" Proceso Realizado Exitosamente ", "Ingreso de Datos ", MessageBoxButtons.OK, MessageBoxIcon.Information)

                Else
                    MessageBox.Show("Error En el Ingreso de Datos", "Ingreso De Datos", MessageBoxButtons.OK, MessageBoxIcon.Error)

                End If

            Catch ex As SqlException
                MessageBox.Show("Error de Acceso , es Posible que el codigo del de Pedido ya Exista", "Mantención", MessageBoxButtons.OK, MessageBoxIcon.Error) 'AQUI CAPTURA SIEMPRE EL ERROR , Y NINGUN ID ESTA REPETIDO
            Finally
                If Not mi_comando Is Nothing Then mi_comando.Dispose()
                If Not mi_conec Is Nothing Then mi_conec.Dispose()
            End Try

        Else
            MessageBox.Show("No has Grabado Datos", "Mantención", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)

        End If
y este es el procedimiento ,Los Pk para la tabla cliente es id_cliente y para vendedor id_vendedor

Código:
CREATE  procedure cliente_ingresa_cliente
(
@id_cliente char(3),@nombre_cliente char(12),@apellido_cliente char(12),
@direccion_cliente char(12),@comuna_cliente char(20),
@telefono_cliente char(12),@fpago_cliente char(20),

@id_vendedor char (2),@nombre_vendedor char(12)

)
as
begin

insert into  CLIENTE  
        (
        ID_CLIENTE,NOM_CLIENTE, APELLIDO_CLIENTE,
         DIRECCION_CLIENTE, COMUNA_CLIENTE,
        TELEFONO_CLIENTE,PAGO_CLIENTE
        
        )
values 
	(
               @id_cliente,@nombre_cliente,@apellido_cliente,
	 @direccion_cliente,@comuna_cliente ,
	 @telefono_cliente,@fpago_cliente
	)

insert into VENDEDOR
	(
 	ID_VENDEDOR,NOM_VENDEDOR
	)
	values
	(
 	@id_vendedor,@nombre_vendedor
	)

end
GO

Última edición por Coala; 14/04/2007 a las 18:37 Razón: Es que soy wn