none
Column 'Asistencia' does not belong to table Table1.(3) RRS feed

  • Pregunta

  • Hola, disculpen.....y me funciona el codigo.....

    Lleno los TextBox de la edicion de GridView, que se deben cargar por primera vez en la fecha de hoy, de carga masiva, por lo tanto deben estar vacios, y me sale este error....:

    "Column 'Asistencia' does not belong to table Table1.", (inspecciono Table1, que se supone carga sus campos desde el SELECT de la consulta,  no posee campo Asistencia...)

    - Como haria para cargarle el campo Asistencia, que si lo llamo desde el SELECT, me traeria datos, y debieran estar sin ellos??...

    Dejo codigo y Captura de pantalla para graficar...

    COD. PRESENTACION

    protected bool IsRowModified(GridViewRow r)
            {
                int currentID;
                string currentLastName;
                string currentFirstName;
    
                currentID = Convert.ToInt32(GridNuevaAsist.DataKeys[r.RowIndex].Value);
    
                currentLastName = ((TextBox)r.FindControl("TextAsist")).Text;   
                currentFirstName = ((TextBox)r.FindControl("TextAsist")).Text;
    
                currentLastName = ((TextBox)r.FindControl("TextObserv")).Text;
                currentFirstName = ((TextBox)r.FindControl("TextObserv")).Text;
    
                DataRow row =
                    originalDataTable.Select(String.Format("Id_Alumno = {0}", currentID))[0];
    
                if (!currentLastName.Equals(row["Asistencia"].ToString())) { return true; } //Aqui el Error//
                if (!currentFirstName.Equals(row["Asistencia"].ToString())) { return true; }
    
                if (!currentLastName.Equals(row["Observaciones"].ToString())) { return true; }
                if (!currentFirstName.Equals(row["Observaciones"].ToString())) { return true; }
    
                return false;


    -------------------------------------------respuesta de LOWELLPELIKNO---------------------------------------------------------------

    -------------------------------consulta Column 'Asistencia' does not belong to table Table1.(3)-------------------------------------

    creo que es porque el row en ese campo viene null

     

    var cadena = row["Asistencia"] != null? row["Asistencia"]:"";



    LOWELLPELIKNO

    ------------------------------------------------------------------------Ahora yo---------------------------------------------------------

    Es asi, pero como iria en el codigo???

    - que es var cadena?? (se que es una variable, pero que representa dentro del codigo?)

    - esta parte quedaria asi??:

    if (var cadena = row["Asistencia"] != null?)

    {

    row["Asistencia"] = " ";  ///Aqui es signo "=", poruque arriba sale ":"////

    }

    , en que parte del codigo va???......

    Agradezco vuestra ayuda en resolver esto, abrazos...........



    lunes, 24 de octubre de 2016 1:37

Respuestas

Todas las respuestas

  • hola

    ya habias planteado este problema

     Column 'Asistencia' does not belong to table Table1.

    pudiste inspeccionar el datatable como recomende ?

    el error esta abstante claro, el datatable no contiene ese nombre de columna, por eso es que debes validar si lo escribes correctamente

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta GuilloFerrero lunes, 24 de octubre de 2016 14:27
    lunes, 24 de octubre de 2016 6:48
  • Hola, Leo, si ya inspeccione y se que le falta esa columna como la de Observaciones, pero...como se la agrego???

    como iria en el codigo???

    - esta parte quedaria asi??:

    y me sugirieron una forma que yo despues la arregle, pero no se que es var cadena??

    if (var cadena = row["Asistencia"] != null?)

    {

    row["Asistencia"] = " ";  ///Aqui es signo "=", poruque arriba sale ":"////

    }

    , en que parte del codigo va???......

    Agradezco vuestra ayuda en resolver esto, abrazos...........



    lunes, 24 de octubre de 2016 14:27
  • Hola, Leo, si ya inspeccione y se que le falta esa columna como la de Observaciones, pero...como se la agrego???

    como iria en el codigo???

    - esta parte quedaria asi??:

    y me sugirieron una forma que yo despues la arregle, pero no se que es var cadena??

    if (var cadena = row["Asistencia"] != null?)

    {

    row["Asistencia"] = " ";  ///Aqui es signo "=", poruque arriba sale ":"////

    }

    , en que parte del codigo va???......

    Agradezco vuestra ayuda en resolver esto, abrazos...........



    disculpen que los moleste, me pueden ayudar¡?...


    lunes, 24 de octubre de 2016 18:14
  • hola

    >>si ya inspeccione y se que le falta esa columna como la de Observaciones, pero...como se la agrego?

    se la tienes que agregar en el SELECT como un campo


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta GuilloFerrero lunes, 24 de octubre de 2016 19:49
    lunes, 24 de octubre de 2016 18:56
  • hola

    >>si ya inspeccione y se que le falta esa columna como la de Observaciones, pero...como se la agrego?

    se la tienes que agregar en el SELECT como un campo


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Hola, Leo, le agrego asi nomas, aunque no me traiga datos, porque es con fecha de hoy, y sin INNER JOIN???

    EJ:

    public DataTable getAlumnosPorMat(int Curso, int Materia)
            {
                try
                {
                    string cnString = null;
                    cnString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Guillermo\Desktop\Cenma215(Willy) - 2\Datos.accdb;Persist Security Info=False";
                    using (OleDbConnection con = new OleDbConnection(cnString))
                    {
                        con.Open();
    
                        string SQL = @"SELECT alum.Id_Alumno, alum.Nombre, alum.Apellido, alum.Dni, asist,Asistencia, asist.Observaciones, mpal.Id, turm.Id_Turno 
                                            FROM (TurnoMateria turm INNER JOIN MateriaPorAlumno mpal ON mpal.Id_Turno = turm.Id_Turno)                                                                                 
                                            INNER JOIN Alumno alum ON alum.Id_Alumno = mpal.Id_Alumno                                                                             
                                            WHERE turm.Id_Curso = @idCurso AND turm.Id_Materia = @idMateria";
                        
                        OleDbCommand cmd = new OleDbCommand(SQL, con);
                        cmd.Parameters.AddWithValue("@idCurso", Curso);
                        cmd.Parameters.AddWithValue("@idMateria", Materia);
                        OleDbDataAdapter da = new OleDbDataAdapter(cmd);
                        DataTable tabla = new DataTable();
                        da.Fill(tabla);
    
                        tabla.Columns.Add("Fecha");
    
                        DateTime fecha = DateTime.Now;
                        foreach (DataRow row in tabla.Rows)
                        {
                            row["Fecha"] = fecha.ToString("dd/MM/yyyy");
                        }
    
                        return tabla;
                    }
                }            
                catch (Exception ex)
                {
                    throw ex;
                }

    Por que ya probe, y lo msimo no me reconoce los campos...

    Disculpa, abrazos, gracias



    lunes, 24 de octubre de 2016 19:27
  • No nos olvidemos que los campos "Asistencias" y "Observaciones", son campos Template para Edicion...
    martes, 25 de octubre de 2016 2:27