none
Guardar Datos de dos o mas tablas con ID autonumerico RRS feed

  • Pregunta

  • Hola amigos: estoy intentando guardar datos de tres tablas, pero me aparece error, alguien puede darme una manito porfavor, aqui esta mi codigo:

     Try
                conectar()

                cmd.CommandText = "[sp_InsUpd_tbl_VisitasEspeciales]"
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Connection = CON

                'cmd.Parameters.Add("@ID_VisitaEspecial", SqlDbType.Int).Value = 282
                cmd.Parameters.Add("@dtm_FecVisitaEspecial", SqlDbType.Date).Value = Date.Now
                cmd.Parameters.Add("@ID_TipoDeVisitaEspecial", SqlDbType.Int).Value = 33
                cmd.Parameters.Add("@ID_DestinoDeVisitaEspecial", SqlDbType.Int).Value = 26
                cmd.Parameters.Add("@str_ObservacionesDeVisitaEspecial", SqlDbType.VarChar).Value = DBNull.Value
                cmd.Parameters.Add("@ID_RegistradoPor", SqlDbType.Int).Value = 14

                Dim ParamTotal As New SqlParameter("@lng_CodigoGenerado", SqlDbType.Int)
                ParamTotal.Direction = ParameterDirection.Output
                cmd.Parameters.Add(ParamTotal)

                Dim dr As SqlDataReader = cmd.ExecuteReader
                CON.Close()
                Mensaje.Label2.Text = cmd.Parameters("@lng_CodigoGenerado").Value.ToString
                Mensaje.ShowDialog()

                Dim cmd1 As New SqlCommand
                cmd1.CommandText = "[sp_Ins_tbl_VisitasEspeciales_Visitantes]"
                cmd1.CommandType = CommandType.StoredProcedure
                cmd1.Connection = CON

                cmd1.Parameters.Add("@ID_VisitaEspecial", SqlDbType.Int).Value = cmd.Parameters("@lng_CodigoGenerado").Value.ToString.Trim
                cmd1.Parameters.Add("@ID_KardexDeVisitaEspecial", SqlDbType.Int).Value = Mensaje.Label2.Text

                Dim ParamTotal1 As New SqlParameter("@lng_CodigoGenerado", SqlDbType.Int)
                ParamTotal1.Direction = ParameterDirection.Output
                cmd1.Parameters.Add(ParamTotal1)

                Dim dras As SqlDataReader = cmd1.ExecuteReader

                Dim cmd2 As New SqlCommand
                cmd2.CommandText = "[sp_Ins_tbl_VisitasEspeciales_Internos]"
                cmd2.CommandType = CommandType.StoredProcedure
                cmd2.Connection = CON

                cmd2.Parameters.Add("@ID_VisitaEspecial", SqlDbType.Int).Value = cmd.Parameters("@lng_CodigoGenerado").Value.ToString.Trim
                cmd2.Parameters.Add("@ID_KardexDeInterno", SqlDbType.Int).Value = 603
                Dim ParamTotal2 As New SqlParameter("@lng_CodigoGenerado", SqlDbType.Int)
                ParamTotal2.Direction = ParameterDirection.Output
                cmd2.Parameters.Add(ParamTotal2)

                Dim dra As SqlDataReader = cmd2.ExecuteReader


            Catch ex As Exception
                MsgBox(ex.Message)
            End Try

    • Cambiado Enrique M. Montejo lunes, 17 de noviembre de 2014 7:56 Pregunta relacionada con el acceso a datos con objetos ADO .NET.
    viernes, 14 de noviembre de 2014 14:29

Todas las respuestas

  • Hola Anabelen, que error te aparece y en que linea?
    viernes, 14 de noviembre de 2014 14:52
  • Hola Anabelen: 

     Podrías regalarnos la descripción completa del mensaje de error que estas recibiendo, al igual en que linea y en que momento de la ejecución del software ocurre, recuerda que entre mas datos nos proporciones mas rápido obtendrás la respuesta que necesitas.


    Saludos desde Monterrey, Nuevo León, México!!!

    viernes, 14 de noviembre de 2014 15:46
  • Estimados amigos: aparece el error restriccion farengey en la tabla VisitaEspecial_Visitante y en la siguiente igual...

    haber si me explico bien: para guardarse la tercera tabla recibe el dato ID autonumerico generado (clave primaria a clave secundaria)  de la segunda tabla, igual la segunda tabla recibe el ID autonumerico generado de la primera tabla a la segunda como clave secundaria...

    eso es lo que pretendo hacer con ese codigo, no se si lo estoy haciendo bien...

    viernes, 14 de noviembre de 2014 16:32