Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Rellenar un texbox del ultimo id del ultimo registro insertado

Estas en el tema de Rellenar un texbox del ultimo id del ultimo registro insertado en el foro de .NET en Foros del Web. Que tal amigos podrias ayudarme con el siguiente problema: Tengo dos procedimientos almacenados Esta función es para agregar la tabla direccion donde el campo idDireccion ...
  #1 (permalink)  
Antiguo 07/03/2015, 20:25
 
Fecha de Ingreso: abril-2005
Mensajes: 22
Antigüedad: 19 años
Puntos: 0
Rellenar un texbox del ultimo id del ultimo registro insertado

Que tal amigos podrias ayudarme con el siguiente problema:

Tengo dos procedimientos almacenados

Esta función es para agregar la tabla direccion donde el campo idDireccion es autoincrementable y se debe relacionar con el campo idDireccion de la tabla contribuyente

Código:
Function insertarDireccion(ByVal idMunicipio As Integer, ByVal idColonia As Integer, ByVal idCalle As Integer, ByVal num As Integer)
        Dim salida As String = "Se insertaron correctamente los registros"
        Try
            cmd = New SqlCommand("SpDireccionInsertar", cn)
            cmd.CommandType = CommandType.StoredProcedure
            With cmd.Parameters
                .AddWithValue("@idCalle", idCalle)
                .AddWithValue("@no", num)
                .AddWithValue("@idColonia", idColonia)
                .AddWithValue("@idMunicipio", idMunicipio)
            End With
            cmd.ExecuteNonQuery()

        Catch ex As Exception
            salida = " No se insertó debido a: " + ex.ToString
        End Try
        Return salida
    End Function
Esta es la otra función

Código:
Function insertarContribuyente1(ByVal nombre As String, ByVal apellidoPaterno As String, ByVal apellidoMaterno As String, ByVal idDireccion As String, ByVal cel As String, ByVal tel As String, ByVal email As String)
        Dim salida As String = "Se insertaron correctamente los registros"
        Try
            cmd = New SqlCommand("SpInsertarContribuyente1", cn)
            cmd.CommandType = CommandType.StoredProcedure
            With cmd.Parameters
                .AddWithValue("@nombre", nombre)
                .AddWithValue("@apellidoPaterno", apellidoPaterno)
                .AddWithValue("@apellidoMaterno", apellidoMaterno)
                .AddWithValue("@idDireccion", idDireccion)
                .AddWithValue("@cel", cel)
                .AddWithValue("@tel", tel)
                .AddWithValue("@email", email)
            End With
            cmd.ExecuteNonQuery()

        Catch ex As Exception
            salida = " No se insertó debido a: " + ex.ToString
        End Try
        Return salida
    End Function
Ahora en el boton Insertar ya para agregar el usuario con el dato relacionado en este caso idDireccion tengo esto

Código:
Dim conexion As New SqlConnection("Data Source=XXX\SQL;Initial Catalog=sica;Integrated Security=True") ' Esto lo tengo en el load del formulario

    Private Sub btonInsertar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btonInsertar.Click

        Dim consultaidDir As New SqlCommand("SELECT MAX(idDireccion) AS idDireccion FROM direccion", conexion)

        Dim idDireccion As Integer
        
        Int(idDireccion = 0)


        MsgBox(cnn.insertarDireccion(cboidMupio.SelectedItem, cboColonia.SelectedIndex + 1, cboidCalle.SelectedItem, Val(txtNoExterior.Text)))
        conexion.Open()
        idDireccion = consultaidDir.ExecuteScalar()
        idDireccion = CType(txtidDireccion.Text, Integer)

       
        cnn.insertarContribuyente1(txtNombre.Text, txtAP.Text, txtAM.Text, txtidDireccion.Text, txttel.Text, txtcel.Text, txtemail.Text)
        conexion.Close()


    End Sub
Al presionar el boton insertar me manda un error, y verifico en la bd y me llena la tabla direccion, pero no la tabla contribuyentes por la razon de que no rellena el textbox para su posterior insercion, me manda el siguiente error.

La conversión de la cadena "" en el tipo 'Integer' no es válida.
Podrìan sugerirme algo por favor?
  #2 (permalink)  
Antiguo 07/03/2015, 22:57
 
Fecha de Ingreso: abril-2005
Mensajes: 22
Antigüedad: 19 años
Puntos: 0
Respuesta: Rellenar un texbox del ultimo id del ultimo registro insertado

La Solución fue esta:

Código vb:
Ver original
  1. idDireccion = Convert.ToInt32(consultaidDir.ExecuteScalar())
  2.        
  3. cnn.insertarContribuyente1(txtNombre.Text, txtAP.Text, txtAM.Text, idDireccion, txttel.Text, txtcel.Text, txtemail.Text)
  4. conexion.Close()

Etiquetas: insertado, registro, rellenar, sql, ultimo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:42.