C sharp - Sentencia Select

 
Vista:
Imágen de perfil de Guillermo

Sentencia Select

Publicado por Guillermo (49 intervenciones) el 25/06/2015 01:57:55
Hola gentes, disculpe que los moleste, me comunico con Uds. para ver si pueden aportarme una solución a lo siguiente:


Debo llenar un GridView con datos que extraigo de una Tabla Alumno de acuerdo a un Curso, unas o una Materia y una Fecha........

De el GridCurso extraigo el Curso con un ViewState, de el GridMateria extraigo la o las Materias (conCheckBox) también con un ViewState, y con Calendar y un TextCalendar, obtengo la Fecha:



En un string SQL, extraigo el id_cursoMateria, de acuerdo al ViewState de Curso y al ViewState de la Materia, y asi, deberia obtener el Dni, Nombre y Apellido del alumno para llenar el GrifdView deseado.............


Debo hacer una sentencia Select con la cual extraigo, de una Tabla Alumno, el Dni, Nombre y Apellido de acuerdo al Curso, la o las Materias y la Fecha........


La preguntas seria:


Cual es la Sentencia Select para obtener el Éxito, y si no, debería agregar, en la Tabla Alumno, un id_alumMatCurso, el cual figura en la Tabla AlumMat Curso(Alumno Materia Curso), a través de id_cursoMateria de la Tabla CursoMateria??


Aquí va el código:


[code/]protected void ButtonAceptar_Click(object sender, EventArgs e)
{
AccesoLogicaCargaAsist b = new AccesoLogicaCargaAsist();

//Ver bien la sentencia de llenado de GridView

string cadenaConexion = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
OleDbConnection cnn = new OleDbConnection(cadenaConexion);
cnn.Open();

string SQL = string.Empty;
SQL = ("SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria"); //GOOD

ViewState["idCursoMateria"] = SQL;


//string sql = string.Empty;
//sql = ("Select id_alumMatCurso From AlumMatCursos Where id_cursoMateria = @idcurMat"); //GOOD

//ViewState["idalumMatCurso"] = sql;

string Sql = string.Empty;
Sql = ("SELECT A.Dni, A.Apellido, A.Nombre, amc.id_alumMatCurso FROM AlumMatCursos amc, Alumno A WHERE amc.id_alumMatCurso = @idcurMat AND Fecha = TextCalendar.Text");
GridCargaAsistencia.DataSource = b.fillGridView(Sql);
GridCargaAsistencia.DataBind();

OleDbCommand com = new OleDbCommand(SQL, cnn);
//OleDbCommand cmd = new OleDbCommand(sql, cnn);
OleDbCommand coma = new OleDbCommand(Sql, cnn);

com.Parameters.AddWithValue("@idCurso", (ViewState["idCurso"]));
com.Parameters.AddWithValue("@idMateria", (ViewState["idMateria"]));
coma.Parameters.AddWithValue("@idcurMat", (ViewState["idCursoMateria"]));
//coma.Parameters.AddWithValue("@id_alumMateriaCurso", (ViewState["idalumMatCurso"])); //Verify all(id_alumMatCurso)
com.ExecuteScalar();
//cmd.ExecuteScalar();
coma.ExecuteScalar();
cnn.Close();


}[code]
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Sentencia Select

Publicado por Carlos (35 intervenciones) el 25/06/2015 21:48:28
Te quisiera ayudar pero no está muy clara tu pregunta,
Mirando tu código por encima y tratando de entender lo que deseas hacer, lo cual supongo que es obtener ciertos datos que están dispersos en varias tablas, de tu base de datos, lo que debes hacer es JOIN con las tablas de las cuales deseas obtener los datos.

Si específicas cuales son las tablas de las cuales desea extraer los datos, así como los campos de cada tabla y como debería ser lo que quieres obtener te podría ayudar mejor.

O sea, la pregunta deberías enfocarla más o menos así:

Tengo un Tabla llamada A, con los campos A1, A2, A3….
Tengo otra tabla llamada B, con los campos B1, B2, B3….
De las cuales deseo obtener un objeto que tenga la forma:


A, B.
Entonces así será más fácil explicarte que tipo de sentencia SQL debes usar.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Guillermo

Sentencia Select

Publicado por Guillermo (49 intervenciones) el 26/06/2015 03:11:12
Mil millones de gracias, siii

La tabla Alumno consta de los Campos (menciono solo los que debo extraer):

Id_Alumno, Dni, Nombre, Apellido......los cuales son obtenidos de acuerdo a un Curso, a la o las Materias de dicho curso, y a una Fecha................

Al seleccionar un Curso (de un GridCurso), obtengo el Id del Curso, el cual lo guardo en un ViewState[IdCurso], automáticamente, se carga una GrillaMateria, donde, con CheckBox, selecciono una Materia o las Materias a las cuales me quiero inscribir, y al realizar dicha tarea, obtengo el Id de la Materia y lo guardo en un ViewState[IdMateria]........(el problema aquí es que solo puedo seleccionar un sola Materia ya que no se como se hace cuando selecciono varias al mismo tiempo............

Mediante un Objeto Calendar obtengo la fecha, y la deposito dentro de un textBox.(TexCalendar), la cual, junto con los otros datos, se cargarían en el GridCargaAsistencia, para cargar la asistencia de esa Fecha.......Este dato no incide en la Búsqueda, pero al seleccionarlo del Calendar, debe cargarse en la Grilla automáticamente para no cargarla a mano.....


Asi, debo obtener de la Tabla Curso Materia, el Id_CursoMateria de acuerdo al Curso seleccionado y a las o la Materia, con el cual debería obtener posteriormente, de la Tabla AlumMatCurso, el id_alumMatCurso con el cual, mas el Id_Alumno de esta misma Tabla, obtendría el Dni, Nombre y Apellido de la Tabla Alumno.....


La tabla AlumMatCurso consta de los Campos(solo los que debo extraer):

id_alumMatCurso e Id_Alumno.

Dentro del GridCargaAsistencia debo colocar el resultado de la dos extracciones de sendas Tablas (Dni, Nombre, Apellido de la Tabla Alumno + id_alumMatCurso de la Tabla AlumMatCurso).........y luego, una vez que la cargue, agregare otros datos manualmente en otros Campos que aquí no figuran, y los guardare, junto con los que si solicito la consulta con un Boton Grabar en la Tabla Asistencias.............La cual, mas tarde será requerida para consultar la asistencia por parte de un alumno o autorizado a ello, desde otro webform..................

Posiblemente deba hacer un InnerJoin, pero bueno, acepto ayuda

Mil millones de gracias, Disculpa las molestias, abrazos, nos vemos........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar