none
Actualización de la base de datos RRS feed

  • Pregunta

  • Estoy haciendo esto pero aún mno he conseguido que funcione porque no sé si obtengo correctamente el valor para identificar el registro.(Me indica la imposibilidad de convertir a bool?) De todas formas me parece un poco confuso. Tengo una tabla con las publicaciones y otra relacionada con los comentarios que puedan hacerse a las publicaciones. No hay comentarios pero sí publicaciones, o sea que necesito identificar la publicación que comenta el usuario. Otra pregunta: He mapeado manualmente las tablas de la bd a clases pero no sé como implementar las relaciones entre tablas. 

                blog dc = new blog(conexión);
                Table<Comentarios> a = dc.Comentarios;

                  Comentarios n = new Comentarios();
                n.comentario = Caja.Text  ;
                a.InsertOnSubmit(n);


                GridViewRow row = Grilla.SelectedRow;

             IQueryable consulta = from publicacion in dc.Publicaciones
                          join comentario in dc.Comentarios
                                on publicacion.idcomentario equals comentario.Id
                         where publicacion.Id = Convert.ToInt32( Grilla.DataKeys[row.RowIndex].Value)
                           select new { publicacion.idcomentario, comentario.Id, comentario.comentario };

               foreach (Publicaciones z in consulta)

               { z.idcomentario = z.Id; }



                dc.SubmitChanges();

                            
    jueves, 17 de abril de 2014 18:44

Respuestas

  • Perdón, estaba haciendo no una sino muchas cosas mal. La cosa tenia que ser mas simple, así:

         Vigilia.DataClasses1DataContext dc = new Vigilia.DataClasses1DataContext();
    
                Table<Publicaciones> p = dc.GetTable<Publicaciones>();
                Table<Comentarios> c = dc.GetTable<Comentarios>();
    
                Comentarios Anotaciones = new Comentarios();
                Anotaciones.Comentario = Caja.Text;
                Anotaciones.CódigoComentario = Convert.ToInt32(Grilla.SelectedValue);
                c.InsertOnSubmit(Anotaciones);
                dc.SubmitChanges();
    
               
                 Mostrarcomentarios();
                 Caja.Text = "";

    viernes, 18 de abril de 2014 19:39

Todas las respuestas

  • He pasado a esto pero sigue sin funcionar

     Vigilia.DataClasses1DataContext dc = new Vigilia.DataClasses1DataContext();

                Table<Publicaciones> p = dc.GetTable<Publicaciones>();
                Table<Comentarios> c = dc.GetTable<Comentarios>();

                Comentarios Anotaciones = new Comentarios();
                Anotaciones.Comentario = Caja.Text;
                c.InsertOnSubmit(Anotaciones);
                GridViewRow row = Grilla.SelectedRow;

                var consulta = from item in p
                               where item.Id == Convert.ToInt32(Grilla.DataKeys[row.RowIndex].Value)
                               select item;

                foreach (Publicaciones Item in consulta)
                { Item.Comentarios = Item.Id; }

                dc.SubmitChanges();

    La consulta no devuelve nada
    jueves, 17 de abril de 2014 20:44
  • Vale, estoy confundiendo la paginación del gridview con la selección de un registro. En realidad en http://www.vigilia.com.es muestro un registro por página pero, entonces, ¿como seleccionar el registro que se muestra en cada página? 
    jueves, 17 de abril de 2014 22:08
  • Esto ya funciona: (pero sigo sin saber como seleccionar un registro)

                   

                Vigilia.DataClasses1DataContext dc = new Vigilia.DataClasses1DataContext();

                Table<Publicaciones> p = dc.GetTable<Publicaciones>();
                Table<Comentarios> c = dc.GetTable<Comentarios>();

                Comentarios Anotaciones = new Comentarios();
                Anotaciones.Comentario = Caja.Text;
                c.InsertOnSubmit(Anotaciones);
                dc.SubmitChanges();

                GridViewRow row = Grilla.SelectedRow;


                var consulta = from item in p
                               where item.Id == Convert.ToInt32 (Grilla.SelectedValue)
                               select item;


                foreach (Publicaciones Item in consulta)
                { Item.Comentarios = Anotaciones.Id; }

                dc.SubmitChanges();

    jueves, 17 de abril de 2014 22:34
  • Perdón, estaba haciendo no una sino muchas cosas mal. La cosa tenia que ser mas simple, así:

         Vigilia.DataClasses1DataContext dc = new Vigilia.DataClasses1DataContext();
    
                Table<Publicaciones> p = dc.GetTable<Publicaciones>();
                Table<Comentarios> c = dc.GetTable<Comentarios>();
    
                Comentarios Anotaciones = new Comentarios();
                Anotaciones.Comentario = Caja.Text;
                Anotaciones.CódigoComentario = Convert.ToInt32(Grilla.SelectedValue);
                c.InsertOnSubmit(Anotaciones);
                dc.SubmitChanges();
    
               
                 Mostrarcomentarios();
                 Caja.Text = "";

    viernes, 18 de abril de 2014 19:39