[ Foro de C# ]
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
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.)