FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Actualizar datos de una consulta
Hola.
Os cuento mi problema de novato en C#: -en un dataGridView cargo un TableAdapter (que se ha formado al arrastrar un DataAdapter en el diseñador del dataset y en el que cargo una consulta que implica a dos tablas (inner join)). El tema está que quisiera poder actualizar los datos mostrados (editar, eliminar,...) pero no consigo guardar (actualizar) dichos cambios ya que no se generan los otros métodos (aparte del Select) como Update. Este problema por descontado que no aparece cuando el orígen de datos del DataGrid es sólo una tabla, cuyos datos puedo actualizar usando el método Update del DataAdapter (pasándole el datset). Se puede? Cómo? Saludos |
#2
|
||||
|
||||
ningun dataset te permitira modificar datos hay otra tabla involucrada...osea de esa forma no tienes solucion, lo mas practico y SI FUNCIONA es usar solo una tabla en el componente, y los campos que requieras de la segunda tabla separarlos en campos calculados en base a la primera... con eso deberia funcionar... otra opcion si la velocidad es lenta es utilizar clientdataset cargando el contenido completo del resultado, luego ir chequeando los cambio e ir relializando los codigos sqls necesarios para actualizar los campos que si necesitas....
Espero haberte ayudado... Slds. Por si acaso esto pasa en delphi, no soy especialista en C# pero al caso es lo mismo debido a que al haber 2 tablas involucradas en una query no se sabe cual actualizar a raiz de los cambios, esto mismo pasara si aplicas group by distinct... etc... Última edición por fredo fecha: 27-02-2007 a las 15:15:31. |
#3
|
||||
|
||||
No estoy tan seguro de lo anterior. Lo que si te puedo decir es que puedes utilizar un SQLCommandBuilder y asociarlo con el adapter para generar las sentencias sql de actualizacion y borrado de datos. O tambien puedes escribir directamente las sentencias de actualizacion, usando las propiedades UpdateCommand y DeleteCommand del SqlDataAdapter.
Claro esta, para esto el resultado de la consulta que traes debe ser actualizable (no puedes editar campos con funciones agregadas, o joins que repitan filas, entre otras limitantes que puedes encontrar en los Books online de sql server)
__________________
Héctor Geraldino Software Engineer |
#4
|
|||
|
|||
Gracias
Fredo, Hector....
Gracias por vuestras respuestas y perdonad en demorarme con este mensaje. Voy avanzando pero con algunos problemas como: - la lentitud al usar varios datasets tipados en un mismo form (tarda en cargarse por lo que he pasado a realizar una serie de pasos accediendo de forma conectada -datareader-) Realmente me lleva todo mucho más tiempo del esperado... Perdón....me voy por las ramas. Mil gracias |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Actualizar datos de una base de datos en un reporte | Marymania | Impresión | 4 | 27-11-2006 19:47:32 |
¿cómo Actualizar Un Campo De Una Consulta En Un Dbgrid? | dibe | Conexión con bases de datos | 2 | 07-09-2006 00:54:54 |
actualizar la consulta | beatriz g | Conexión con bases de datos | 3 | 31-08-2006 20:44:15 |
Actualizar Datos | trex2000 | Firebird e Interbase | 1 | 26-09-2003 23:21:49 |
actualizar consulta ADO | haron | Conexión con bases de datos | 1 | 07-05-2003 11:40:41 |
|