Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Guillito

#21
Hola, como les va?, quiero llenar la Grilla GridCargaNota con el siguiente código, pero al compilar, me da el error que lleva el titulo..........(el Error me salta en la línea de ******)............

Código (csharp) [Seleccionar]


protected void ButtonAceptar_Click(object sender, EventArgs e)
        {
            string cadenaConexion = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
            using (OleDbConnection cnn = new OleDbConnection(cadenaConexion))
            {
                cnn.Open();
                string query1 = string.Empty;
                string query2 = string.Empty;

                query1 = "SELECT Id_Nota, Nota, [Fecha Trimestre], Tipo, Etapa, Dni, Nombre, Apellido, id_alumMatCurso From Notas N Where N.id_alumMatCurso = @idCurMater";
                query2 = "SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria";

                ViewState["idCurMater"] = query2;

                OleDbCommand com = new OleDbCommand(query1,cnn);
                OleDbCommand com1 = new OleDbCommand(query2,cnn);
                com.Parameters.AddWithValue("@idCurso", Convert.ToInt32(ViewState["idCurso"]));
                com.Parameters.AddWithValue("@idMateria", Convert.ToInt32(ViewState["idMateria"]));
                ******com1.Parameters.AddWithValue("@idCurMater", Convert.ToInt32(ViewState["idCurMater"]));******

                com.ExecuteNonQuery();
                com1.ExecuteNonQuery();

                OleDbDataAdapter da = new OleDbDataAdapter(com);

                DataTable dt = new DataTable();
                da.Fill(dt);

                GridCargaNota.DataSource = dt;
                GridCargaNota.DataBind();





Desde ya, les agradezco su ayuda, nos estamos viendo, saludos......
#22
Hola, como les va? disculpe que los moleste, me comunico para comentarles que tengo el siguiente problema:

Debo llenar una GridCargaNota y me da el error "No se han especificado valores para algunos de los parámetros requeridos."

Si logran determinar cual seria la falla, les agradecería el aporte de la solución.

Saludos, disculpen, nos vemos.....

Código (csharp) [Seleccionar]
protected void ButtonAceptar_Click(object sender, EventArgs e)
{
AccesoLogicaCargaNotas b = new AccesoLogicaCargaNotas();
string cadenaConexion = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
using (OleDbConnection cnn = new OleDbConnection(cadenaConexion))
{
cnn.Open();
string query1 = string.Empty;
query1 = "SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria";
OleDbCommand com1 = new OleDbCommand(query1, cnn);

ViewState["idCursoMateria"] = com1;

string query2 = string.Empty;
query2 = "SELECT Id_Nota, Nota, [Fecha Trimestre], Tipo, Etapa, Dni, Nombre, Apellido, id_alumMatCurso From Notas N Where N.id_alumMatCurso = @idCurMater";
OleDbCommand com2 = new OleDbCommand(query2, cnn);

com1.Parameters.AddWithValue("@idCurso", Convert.ToInt32(ViewState["idCurso"]));
com1.Parameters.AddWithValue("@idMateria", Convert.ToInt32(ViewState["idMateria"]));
com2.Parameters.AddWithValue("@idCurMater", Convert.ToInt32(ViewState["idCursoMateria"]));
com1.ExecuteNonQuery();
com2.ExecuteNonQuery();
}
#23
Mil millones de gracias, me fijo.......el error me salta en el trow exception de la ejecucion del método....
#24
Hola gente, disculpen que los moleste, me comunico con Uds. por lo siguiente:

Tengo una tabla Alumno con los campos:Dni, Nombre, Apellido...(tiene Id_Alumno)..

y otra Tabla AlumMatCurso de donde extraigo id_alumMatCurso..(también tiene Id_Alumno).

El objetivo es llenar un GridView (GridCargaAsistencia), con lo que, al obtener esos

datos, se llenan........Para tal propósito, he hecho el código que expongo a continua-

ción de este texto......Me da el Error que figura en el Titulo de este Post....

Desde ya, muy agradecido con Uds, por aportar la solución que resuelva esto, etc....

Abrazos....Disculpen las molestias.....

Código (csharp) [Seleccionar]

private void Leer()
       {
           string cadenaConexion = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
           OleDbConnection cnn = new OleDbConnection(cadenaConexion);

           OleDbCommand com = new OleDbCommand("SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria", cnn); //GOOD

           ViewState["idCursoMateria"] = com;

           connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Guillermo\Documents\Datos.accdb;Persist Security Info=False");
           OleDbCommand command = new OleDbCommand();
           Adaptador = new OleDbDataAdapter("SELECT A.Dni, A.Apellido, A.Nombre, amc.id_alumMatCurso FROM AlumMatCursos amc INNER JOIN Alumno A ON amc.Id_Alumno = A.Id_Alumno WHERE amc.id_alumMatCurso = @idcurMat", connection);
           DataTable dt = new DataTable();
           Adaptador.Fill(dt);
           GridCargaAsistencia.DataSource = dt;
           GridCargaAsistencia.DataBind();

           com.Parameters.AddWithValue("@idCurso", (ViewState["idCurso"]));
           com.Parameters.AddWithValue("@idMateria", (ViewState["idMateria"]));
           command.Parameters.AddWithValue("@idcurMat", ViewState["idCursoMateria"]);
       }

       protected void ButtonAceptar_Click(object sender, EventArgs e)
       {
           try
           {
               Leer();
           }

           catch (Exception)
           {
               throw;
           }

           finally
           {
               if (connection != null)
               {
                   connection.Close();
               }
           }

       }

#25
.NET (C#, VB.NET, ASP) / Sentencia Select
25 Junio 2015, 02:06 AM
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:


Código (csharp) [Seleccionar]
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();


#26
Hola, como les va, disculpen que los moleste, me comunico con Uds. a los fines de consultarles sobre el Error que encabeza este foro:

sucede que el mismo se dispara al compilar, y si toco el Edit Item del GridView, el cual arranca en -1, no me soluciona el tema, sino, por el contrario, se aleja de la consecusión de la solución..........

El Error se dispara en esta línea.......(asteriscos y ViewState[]),

El GridView consta de la Columna de Select, y 2 columnas (Año y Sección)........

El tema es saber el por que de este error, y si fuera factible, la forma de solucionarlo.......

Sin mas que agregar, aprovecho la oportunidad de saludarlos muy atte.....

Código (csharp) [Seleccionar]

protected

void GridCurso_SelectedIndexChanged(object sender, EventArgs e)

        {         


// Se obtiene la fila seleccionada del gridview           


GridViewRow row = GridCurso.SelectedRow;           


// Obtengo el id de la entidad que se esta editando           


// en este caso de la entidad Curso


*********ViewState["idCurso"] = Convert.ToInt32(GridCurso.DataKeys[row.RowIndex].Value);*********

           
//int fila = Convert.ToInt32(GridCurso.DataKeys[row.RowIndex].Value);


            CargarData();

        }

#27
Tengo un GridView con Nombres y Apellidos de Alumnos de un Institución, obtenidos de la Tabla Alumno (El Grid View toma el Id de lo seleccionado con DataKeyNames al igual que los otros GridsView, asi, luego de seleccionar Alumno del GridAlumno, se debe seleccionar el Curso del GridCurso, aquí, luego de la anterior acción, se despliega el GridMaterias con CheckBoxs en el Template, con lo cual yo puedo elegir la Materia o Materias de manera individual, a las cuales me quiero inscribir)..................Asi, con lo seleccionado con este nuevo GridView, mas lo seleccionado con los otros GridsView, me da el mismo error:

"No se puede agregar o cambiar el registro porque se necesita un registro relacionado en la tabla 'Alumno'."

Aquí dejo código a los fines de si Uds. pueden determinar el error, o la forma correcta de sintaxis para que funcione, lo acrediten por este medio, etc.......

Disculpen las molestias, estare siempre agradecido, nos vemos....


Código (csharp) [Seleccionar]

protected void Page_Load(object sender, EventArgs e)
       {
           AccesoLogicaM b = new AccesoLogicaM();
           GridCursos.DataSource = b.fillGridView("Select Id_Curso, Año, sección From Curso");
           GridCursos.DataBind();

           GridAlumno.DataSource = b.fillListView("Select Id_Alumno, Nombre, Apellido From Alumno Order By Nombre Asc");
           GridAlumno.DataBind();

       }
protected void GridCursos_SelectedIndexChanged(object sender, EventArgs e)
       {
           // Se obtiene la fila seleccionada del gridview

           GridViewRow row = GridCursos.SelectedRow;

           // Obtengo el id de la entidad que se esta editando
           // en este caso de la entidad Curso
           ViewState["idCurso"] = Convert.ToInt32(GridCursos.DataKeys[row.RowIndex].Value);
           CargarData();
       }
       private void CargarData()
       {
           string connection = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
           OleDbConnection cnn = new OleDbConnection(connection);
           string SQL = string.Empty;
           SQL = ("SELECT M.Id_Materia, M.Nombre FROM Materias M, CursosMaterias cm WHERE cm.id_Materia = M.Id_Materia AND cm.id_Curso = @View");
           OleDbCommand comando = new OleDbCommand(SQL, cnn);
           comando.CommandType = CommandType.Text;
           cnn.Open();
           comando.Parameters.Clear();
           comando.Parameters.AddWithValue("@View", (ViewState["idCurso"]));
           DataTable tabla = new DataTable();
           OleDbDataAdapter Adaptador = new OleDbDataAdapter(comando);
           Adaptador.Fill(tabla);
           GridInscMaterias.DataSource = tabla;
           GridInscMaterias.DataBind();
           cnn.Close();
       }

       protected void GridInscMaterias_SelectedIndexChanged(object sender, EventArgs e)
       {

       }
       protected void ButtonTodas_Click(object sender, EventArgs e)
       {
           foreach
           (GridViewRow dgi in GridInscMaterias.Rows)
           {
               CheckBox myCheckBox = dgi.Cells[0].Controls[1] as CheckBox;

               if (myCheckBox != null)
               {

                   if (myCheckBox.Checked == true)
                   {
                       ViewState["idMateria"] = GridInscMaterias.DataKeys[dgi.RowIndex][0].ToString();

                       {
                           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");

                           ViewState["idCursoMateria"] = SQL;

                           string sql = string.Empty;
                           sql = @"INSERT INTO AlumMatCursos (Id_Alumno, id_cursoMateria)
                               VALUES (@idAlumno, @idcurMat)";
                           OleDbCommand cmd = new OleDbCommand(sql, cnn);
                           cmd.Parameters.AddWithValue("@idCurso", (ViewState["idCurso"]));
                           cmd.Parameters.AddWithValue("@idMateria", (ViewState["idMateria"]));
                           cmd.Parameters.AddWithValue("@idAlumno", (ViewState["idAlumno"]));
                           cmd.Parameters.AddWithValue("@idcurMat", (ViewState["idCursoMateria"]));
                           cmd.ExecuteNonQuery();
                           cnn.Close();
                           lblMensaje.Text = "Se registraron correctamente en BD!";
                       }
                   }
               }
           }
       }

       protected void GridAlumno_SelectedIndexChanged(object sender, EventArgs e)
       {
           // Se obtiene la fila seleccionada del gridview

           GridViewRow row = GridAlumno.SelectedRow;

           // Obtengo el id de la entidad que se esta editando
           // en este caso de la entidad Curso
           ViewState["idAlumno"] = Convert.ToInt32(GridAlumno.DataKeys[row.RowIndex].Value);
       }
   }
}

#28
Gracias Elektro, disculpa las molestias....
#29
 ;-)  Hola, Elektro:

te pregunto lo siguiente:

Para que funcione el código anterior que me enviaste,

debo llenar los DropDownList de la siguiente manera?(Es decir, con el Id de la Tabla, o sea Id_Alumno??):

Código (csharp) [Seleccionar]

DropDownNombre.DataSource = b.fillListView("Select Id_Alumno, Nombre From Alumno Order By Nombre Asc");
DropDownNombre.DataBind();


dado que con lo que me enviaste funcionaria, pero me da otro tipo de error, por ejemplo:

"No se puede agregar o cambiar el registro porque se necesita un registro relacionado en la tabla 'Alumno'."

Y este seria todo el código con tus sugerencias:

Código (csharp) [Seleccionar]

protected void ButtonTodas_Click(object sender, EventArgs e)
       {
           string a = ViewState["idNombre"].ToString();
           string b = ViewState["idApellido"].ToString();
           a = b;
           ViewState["idAlumno"] = ViewState["idNombre"];

           if (a != b)
           {
               ViewState["idAlumno"] = null;
           }
           else
           {
               foreach
               (GridViewRow dgi in GridInscMaterias.Rows)
               {

                   CheckBox myCheckBox = dgi.Cells[0].Controls[1] as CheckBox;

                   if (myCheckBox != null)
                   {

                       if (myCheckBox.Checked == true)
                       {

                           ViewState["idMateria"] = GridInscMaterias.DataKeys[dgi.RowIndex][0].ToString();
                           {
                               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");

                               ViewState["idCursoMateria"] = SQL;

                               string sql = string.Empty;
                               sql = @"INSERT INTO AlumMatCursos (Id_Alumno, id_cursoMateria)
                               VALUES (@idAlumno, @idcurMat)";
                               OleDbCommand cmd = new OleDbCommand(sql, cnn);
                               cmd.Parameters.AddWithValue("@idCurso", (ViewState["idCurso"]));
                               cmd.Parameters.AddWithValue("@idMateria", (ViewState["idMateria"]));
                               cmd.Parameters.AddWithValue("@idAlumno", (ViewState["idAlumno"]));
                               cmd.Parameters.AddWithValue("@idcurMat", (ViewState["idCursoMateria"]));
                               cmd.ExecuteNonQuery();
                               cnn.Close();
                               lblMensaje.Text = "Se registraron correctamente en BD!";
}
                       }
                   }
               }
           }
       }        

       protected void DropDownNombre_SelectedIndexChanged(object sender,    EventArgs e)
       {
           // Se obtiene la fila seleccionada del DropDownList
           int currentIndex = ((DropDownList)sender).SelectedIndex;
                       
           ViewState["idNombre"] = currentIndex;

           //ViewState["idNombre"] = Convert.ToInt32(DropDownNombre.SelectedValue);

       }
       protected void DropDownApellido_SelectedIndexChanged(object sender, EventArgs e)
       {
           // Se obtiene la fila seleccionada del DropDownList
           int currentIndex = ((DropDownList)sender).SelectedIndex;
           
           ViewState["idApellido"] = currentIndex;

       }
   }
}


Sera que me esta tomando el índice del Ítem???....(y no de la tabla??).....



Desde ya te estoy agradeciendo, disculpa las molestias, nos estamos viendo....
#30
Hola Elektro:

Ahora me da el sig. Error:

Compiler Error Message: CS0029: Cannot implicitly convert type 'int' to 'System.Web.UI.WebControls.ListItem'


Código (csharp) [Seleccionar]


ListItem currentIndex = ((DropDownList)sender).SelectedIndex;
           
ViewState["idNombre"] = currentIndex;

      (En la primera Línea)...............


De cualquier forma, Elektro, lo que quiero obtener de los DropsDown son los Ids. de la Tabla, mas no el Indice de los Ítems de los DropDowns......


Desde ya te estoy agradeciendo muchísimo, y me estoy fijando en el enlace que me mandaste, a ver si encuentro algo.....

Un abrazo grande, seguimos en contacto....