La Web del Programador: Comunidad de Programadores
 
    Pregunta:  49615 - MOSTRAR Y ACTUALIZAR EN UN MISMO DATAGRID VARIAS TABLAS
Autor:  Freddy Montenegro García
Por favor quiero que me ayuden, estoy realizando un sistema de Control de notas. Quiero mostrar en un mismo Datagrid información de 3 tablas para luego poder actualizar las notas. La tabla ESTUDIANTE tiene atributos Cod_estud(KP), Nombre_estud, Apellidos_estud; la tabla MATRICULAS tiene los campos Num_matricula(KP), cod_estud, epec(kf), curso, etc.; la tabla NOTAS tiene los campos Num_mat(kp), codasig(kp),Aporte11, Aporte12, Aporte13,... y necesito mostrar en una grilla de la siguiente manera:

NOMINA APORTE1 APORTE2 APORETE3 ....
Almedia Victor 12 15 16 ....
Benitez Fanny 18 14 17 .....
Calderón Jorge 14 17 16 ...

Para luego poder actulaizar solo las Calificaciones. Por FAvor ayúdenme. Garacias.....

  Respuesta:  Eider Mauricio Aristizabal Erazo
Realiza un Query Join de las tres tablas

SELECT e.cod_estud as CODIGO
e.nombre_estud as NOMINA,
n.aporte11 as APORTE1,
n.aporte12 as APORTE2,
n.aporte13 as APORTE3
FROM estudiante e
inner join matricula m on (e.cod_estud = m.cod_estud)
inner join notas n on (m.num_matricula = n.num_mat)

'En el generador de propiedades de la grilla
'agrega las columnas CODIGO, NOMINA, APORTE1, APORTE2, APORTE3
' tambien agrega el boton Editar/actualizar/cancelar

'En el metodo updatecommand de la grilla grdNotas
Private Sub grdNotas_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles grdNotas.UpdateCommand
cod_alumno = e.item.cells(0).text
nombre_alumno = e.item.cells(1).text
nota1 = e.item.cells(2).text
nota2 = e.item.cells(3).text
nota3 = e.item.cells(4).text
actualizarnotas(codigo_alumno, nombre_alumno, nota1, nota2, nota3)

end sub

'dentro de la funcion actualizarnotas debes ejecutar un Query como este
strSQL = "update Notas set Aporte11 = " & nota11
strSQL += ", Aporte12 = " & nota12
strSQL += ", Aporte13 = " & nota3
strSQL += " where cod_alumno = " & codigo_alumno

'Bye espero te sirva
'Saludos desde Cali-Colombia