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

Llamar último registro Datatable con varias tablas

Estas en el tema de Llamar último registro Datatable con varias tablas en el foro de .NET en Foros del Web. Hola! Estoy trabajando con Visual studio en .Net conectado con SQL Server. Tengo un datatable rellenado con dos tablas: Código PHP: "SELECT * FROM farchgra far LEFT JOIN farchgra22 far22 ON far.numero2 = far22.numero2 WHERE far.numero = @NumCli ORDER BY far.FECGRAD DESC"  Primero inserto un ...
  #1 (permalink)  
Antiguo 08/05/2015, 02:27
 
Fecha de Ingreso: agosto-2014
Mensajes: 44
Antigüedad: 9 años, 8 meses
Puntos: 0
Llamar último registro Datatable con varias tablas

Hola! Estoy trabajando con Visual studio en .Net conectado con SQL Server.

Tengo un datatable rellenado con dos tablas:
Código PHP:
"SELECT * FROM farchgra far LEFT JOIN farchgra22 far22 ON far.numero2 = far22.numero2 WHERE far.numero = @NumCli ORDER BY far.FECGRAD DESC" 
Primero inserto un registro en far, y numero2 se genera automaticamente.
Ahora lo que necesito es que far22 coja el mismo numero2 que far...

Lo que intentaba hacer es coger el último registro de far pero claro, el select que hago en el datatable no me sirve por que coge los registros que coinciden con numero2 y como todavia no he podido introducirlo en far22 no me sale ningun registro, mi duda es... La única forma de asignar numero2 a la otra tabla es hacer otro select totalmente distinto verdad?
Quería evitar hacer más select por si eso hacia que fuese más lento y no que puedo hacer.
  #2 (permalink)  
Antiguo 11/05/2015, 02:21
 
Fecha de Ingreso: agosto-2014
Mensajes: 44
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Llamar último registro Datatable con varias tablas

Alomejor no me he explicado del todo bien.
Tengo un campo(numero2) que tiene que ser el mismo en dos tablas, y cuando lo inserto en una necesito que se inserte en el otro.

Cuando lo meto en la primera tabla, lo asigno a una variable para poder ponerselo a la segunda tabla...Pero no se por que no me lo crea.
  #3 (permalink)  
Antiguo 11/05/2015, 03:38
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Llamar último registro Datatable con varias tablas

Si compartes todo el código involucrado sería más sencillo averiguar que esta mal.
Las descripciones no sirven.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 11/05/2015, 04:24
 
Fecha de Ingreso: agosto-2014
Mensajes: 44
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Llamar último registro Datatable con varias tablas

No puse todo el código por que pensé que sería mas lioso...Enseguida lo subo, gracias!!
  #5 (permalink)  
Antiguo 11/05/2015, 04:30
 
Fecha de Ingreso: agosto-2014
Mensajes: 44
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Llamar último registro Datatable con varias tablas

Código PHP:
Shared Sub Guardar_Refraccion()
        
'Abrimos la conexión
        Cnn.Open()
        Dim transaccion As SqlTransaction
        Dim commando As New SqlCommand
        '
Iniciamos la transacción
        transaccion 
Cnn.BeginTransaction()
        
commando.Connection Cnn
        commando
.Transaction transaccion
Try
            
''      Guardamos La graduacion
            commando
.CommandText "INSERT INTO FARCHGRA(numero,fecgrad,fecnext,obsgra,aavsglod,aavsgloi,avsglod,avsgloi,ejelod,ejeloi,cillod,cilloi,esflod,esfloi,avcglod,avcgloi,dllod,dlloi,odl_ppris,oil_ppris,baselod,baseloi,dilod,diloi," _
                                    
"adilod,adiloi,allod,alloi,avbinol,aavsgcod,aavsgcoi,avsgcod,avsgcoi,ejecod,ejecoi,cilcod,cilcoi,esfcod,esfcoi,avcgcod,avcgcoi,dlcod,dlcoi,odc_ppris,oic_ppris,basecod,basecoi,dicod,dicoi,adicod," _
                                    
"adicoi,alcod,alcoi,avbinoc) VALUES ('" num "','" Refracción.TxtFec.Text "','" Refracción.TxtFecProx.Text "','" Refracción.TxtObservaciones.Text "','" Refracción.TxtLODAVCC.Text "','" Refracción.TxtLOIAVCC.Text "','" Refracción.TxtLODAVSC.Text "','" Refracción.TxtLOIAVSC.Text "','" _
                                    Refracción
.TxtLODEJE.Text "','" Refracción.TxtLOIEJE.Text "','" Refracción.TxtLODCIL.Text "','" Refracción.TxtLOICIL.Text "','" Refracción.TxtLODESF.Text "','" Refracción.TxtLOIESF.Text "','" Refracción.TxtLODAVCC2.Text "','" Refracción.TxtLOIAVCC2.Text "','" _
                                    Refracción
.TxtLODDIP.Text "','" Refracción.TxtLOIDIP.Text "','" Refracción.TxtLODPRIS.Text "','" Refracción.TxtLOIPRIS.Text "','" Refracción.TxtLODBASE.Text "','" Refracción.TxtLOIBASE.Text "','" Refracción.TxtLODDIA.Text "','" Refracción.TxtLOIDIA.Text "','" Refracción.TxtLODAD.Text "','" _
                                    Refracción
.TxtLOIAD.Text "','" Refracción.TxtLODACTRO.Text "','" Refracción.TxtLOIACTRO.Text "','" Refracción.TxtLABIN.Text "','" Refracción.TxtCODAVCC.Text "','" Refracción.TxtCOIAVCC.Text "','" Refracción.TxtCODAVSC.Text "','" Refracción.TxtCOIAVSC.Text "','" Refracción.TxtCODEJE.Text "','" _
                                    Refracción
.TxtCOIEJE.Text "','" Refracción.TxtCODCIL.Text "','" Refracción.TxtCOICIL.Text "','" Refracción.TxtCODESF.Text "','" Refracción.TxtCOIESF.Text "','" Refracción.TxtCODAVCC2.Text "','" Refracción.TxtCOIAVCC2.Text "','" Refracción.TxtCODDIP.Text "','" Refracción.TxtCOIDIP.Text "','" _
                                    Refracción
.TxtCODPRIS.Text "','" Refracción.TxtCOIPRIS.Text "','" Refracción.TxtCODBASE.Text "','" Refracción.TxtCOIBASE.Text "','" Refracción.TxtCODDIA.Text "','" Refracción.TxtCOIDIA.Text "','" Refracción.TxtCODAD.Text "','" Refracción.TxtCOIAD.Text "','" Refracción.TxtCODACTRO.Text "','" _
                                    Refracción
.TxtCOIACTRO.Text "','" Refracción.TxtCABIN.Text "')"
            
commando.ExecuteNonQuery()
            
'Finalizamos la transacción
            transaccion.Commit()
            Cnn.Close()
            CargaGraduaciones()
            num2 = Convert.ToInt16(C_Refraccion.dtrefrac.Rows(0)("numero2"))
        Catch ex As Exception
            MsgBox(ex.Message())
        End Try
End Sub
Shared Sub Guardar_ObjetivaInicial()
Try
            '       
Insertar objetiva e Inicial
Dim query 
As String "INSERT INTO FARCHGRA22(numero2,actuejeod,actuejeoi,actucilod,actuciloi,actuesfod,actuesfoi,actuadic,actuavod,actuavoi,avscod,avscoi,rabinocula,rejeod,rejeoi,rcilod,rciloi,resfod,resfoi,ravod,ravoi,refejeod,refejeoi,refcilod,refciloi,refesfod,refesfoi,queraod_h,queraoi_h,queraod_v,queraoi_v,queraod_hp,queraoi_hp,queraod_vp,queraoi_vp,queraod_ej,queraoi_ej)" _
                                  
"VALUES ('" num2 "','" Refracción.TxtCorEjeOD.Text "','" Refracción.TxtCorEjeOI.Text "','" Refracción.TxtCorCilOD.Text "','" Refracción.TxtCorCilOI.Text "','" Refracción.TxtCorEsfOD.Text "','" Refracción.TxtCorEsfOI.Text "','" Refracción.TxtCorAdi.Text "','" Refracción.TxtCorAvOD.Text "','" Refracción.TxtCorAvOI.Text "','" _
                                  Refracción
.TxtCorAvscOD.Text "','" Refracción.TxtCorAvscOI.Text "','" Refracción.TxtCorAVB.Text "','" Refracción.TxtRetEjeOD.Text "','" Refracción.TxtRetEjeOI.Text "','" Refracción.TxtRetCilOD.Text "','" Refracción.TxtRetCilOI.Text "','" Refracción.TxtRetEsfOD.Text "','" Refracción.TxtRetEsfOI.Text "','" Refracción.TxtRetAvOD.Text _
"','" Refracción.TxtRetAvOI.Text "','" Refracción.TxtObjEjeOD.Text "','" Refracción.TxtObjEjeOI.Text "','" Refracción.TxtObjCilOD.Text "','" Refracción.TxtObjCilOI.Text "','" Refracción.TxtObjEsfOD.Text "','" Refracción.TxtObjEsfOI.Text "','" Refracción.TxtQueMMOD.Text "','" Refracción.TxtQueMMOI.Text "','" Refracción.TxtQueMM2OD.Text _
"','" Refracción.TxtQueMM2OI.Text "','" Refracción.TxtQuePotOD.Text "','" Refracción.TxtQuePotOI.Text "','" Refracción.TxtQuePot2OD.Text "','" Refracción.TxtQuePot2OI.Text "','" Refracción.TxtQueEjeOD.Text "','" Refracción.TxtQueEjeOI.Text "')"
            
MsgBox(num2)
            
Cnn.Open()
            
cmd = New SqlCommand(queryCnn)
            
cmd.ExecuteNonQuery()
            
Cnn.Close()
        Catch 
ex As Exception
            MsgBox
(ex.Message())
        
End Try
End Sub 
Primero guardo en la primera tabla, el campo numero2 que es autonumerico.
Y luego hago el otro insert en la segunda tabla donde tambien tengo el campo numero2.

Hago el primer insert, luego cargo los datos en el datatable con este select:
Código PHP:
 Dim sql As String "SELECT * FROM farchgra far LEFT JOIN farchgra22 far22 ON far.numero2 = far22.numero2 WHERE far.numero = @NumCli ORDER BY far.FECGRAD DESC, far.numero2 DESC" 
Y ahora cargo numero2 en la variable num2 para el segundo insert.


En lugar de ponerme el último registro introducido en numero2, me pone el anterior, lo que sospecho es que no le de tiempo a introducirlo y por eso el último no es el recien introducido.

Última edición por Monxu88; 11/05/2015 a las 04:31 Razón: as

Etiquetas: datatable, net, registro, sql, studio, tablas, visual
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 16:46.