[ Foro de C# ]

Como llenar columna Nota 1, Nota2, Nota3, ............Nota9 de grid, si el Orden es 1, 2, 3....9 de esa Nota asp.net

05-Nov-2016 23:50
aaaaaaa bbbbbbb
1 Respuestas

Hola, los molesto..................................Quiero que me digan, si saben, como llenar columna Nota 1, Nota2, Nota3, ............Nota9 de grid, si el Orden es 1, 2, 3....9 de esa Nota

Para graficar, dejo disposicon de Tabla de BD, donde se aprecia Columna Nota y Columna Orden...........

y un esbozo de codigo que estoy implementando, para que me digan si esta mal, y que debiera hacer,.....

Desde ya, mil millones de gracia, y disculpen las molestias......


connection.Open();               

                string SQL = @"SELECT B.Id_Alumno, B.Nombre, B.Apellido, B.Dni, D.Id_Materia, D.Nombre AS NombreMateria, A.Id_Turno, N.Id_Nota, N.Nota 
                                        FROM 	                                    
	                                    MateriaPorAlumno AS A,
	                                    Alumno AS B,
	                                    TurnoMateria AS C,
	                                    Materias AS D,
                                        Notas AS N                                                                          
                                        WHERE
                                        A.Id_Alumno = B.Id_Alumno AND
	                                    C.Id_Turno = A.Id_Turno AND
	                                    D.Id_Materia = C.Id_Materia AND
                                        N.Id_MateriaPorAlumno = A.Id AND                                                                                                       
                                        B.Id_Alumno = @Alum Order By N.[Trimestre] Asc";

                OleDbCommand cmd = new OleDbCommand(SQL, con);
                command.Parameters.AddWithValue("@Alum", Alumno);
                OleDbDataReader lector = command.ExecuteReader();
                OleDbDataAdapter da = new OleDbDataAdapter(cmd);
                DataTable tabla = new DataTable();
                da.Fill(tabla);

                tabla.Columns.Add("Nota1");
                tabla.Columns.Add("Nota2");
                tabla.Columns.Add("Nota3");
                tabla.Columns.Add("Nota4");
                tabla.Columns.Add("Nota5");
                tabla.Columns.Add("Nota6");
                tabla.Columns.Add("Nota7");
                tabla.Columns.Add("Nota8");
                tabla.Columns.Add("Nota9");

                int nota = 0;
                int orden = 0;

                DataRow row = new DataRow();
                    //row = tabla.NewRow();
                    //guardo datos en variables
                    nota = Convert.ToInt32(row["Nota"]);
                    orden = Convert.ToInt32(row["Orden"]);
                          {
                        if (orden == 1)
                        {
                            nota1 = nota;
                            row["Nota 1"] = nota1;                            
                        }
                        if (orden == 2)
                        {
                            nota2 = nota;
                            row["Nota 2"] = nota2;                            
                        }
                        if (orden == 3)
                        {
                            nota3 = nota;
                            row["Nota 3"] = nota3;
                            
                        }
                        if (orden == 4)
                        {
                            nota4 = nota;
                            row["Nota 4"] = nota4;
                            
                        }
                        if (orden == 5)
                        {
                            nota5 = nota;
                            row["Nota 5"] = nota5;
                            
                        }
                        if (orden == 6)
                        {
                            nota6 = nota;
                            row["Nota 6"] = nota6;
                            
                        }
                        if (orden == 7)
                        {
                            nota7 = nota;
                            row["Nota 7"] = nota7;
                            
                        }
                        if (orden == 8)
                        {
                            nota8 = nota;
                            row["Nota 8"] = nota8;
                            
                        }
                        if (orden == 9)
                        {
                            nota9 = nota;
                            row["Nota 9"] = nota9;
                            
                        }


Disposicion Tabla Notas

Nota     Orden
1              3  
4              9
6              5
9              2
0              6


27-Nov-2016 11:16
Nacho Cabanes (+84)

Por fin me puedo poner a contestar dudas pendientes...  En un primer vistazo, ese código es terriblemente repetitivo. Puedes cambiar estructuras como:


if (orden == 4) 
                       { 
                           nota4 = nota; 
                           row["Nota 4"] = nota4; 
                            
                       } 
                       if (orden == 5) 
                       { 
                           nota5 = nota; 
                           row["Nota 5"] = nota5; 
                            
                       } 
                       if (orden == 6) 
                       { 
                           nota6 = nota; 
                           row["Nota 6"] = nota6; 
                            
                       } 


por un simple


row["Nota "+orden] = orden; 


 






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)