Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-12-2014
ginesgomezlopez ginesgomezlopez is offline
No confirmado
NULL
 
Registrado: jun 2012
Posts: 45
Poder: 0
ginesgomezlopez Va por buen camino
Modificación de varios registros a la vez

Hola muy buenas,

Tengo una base de datos creada, con ella trabajo registro a registro, alta, baja, modificaciones lo que sea necesario registro a registro, pero ahora quisiera trabajar con un contenedor donde pueda modificar varios registros y con un botón poder grabar esos registros modificados de una vez, así les pedía opinión para ver cómo es la mejor manera posible si la mejor manera es utilizar un DbGrid o un StringGrid, donde en la primera columna escribiría el código Maestro y con un intro aparecieran los campos que yo eligiera asociados a ese registro, modificar el campo pertinente y en la segunda fila el siguiente codigo maestro y la misma operación.... , un click al button y quedar grabados todos los registros, ¿Es posible hacerlo con un StringGrid o DbGrid? o existe otra forma de hacerlo,

Gracias.
Responder Con Cita
  #2  
Antiguo 11-12-2014
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Poder: 18
TiammatMX Va camino a la fama
¿Y si utilizas UPDATE de SQL? TDbGrid es solamente una MUESTRA de los datos...
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #3  
Antiguo 12-12-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.267
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Independientemente de la forma, que es lo de menos, no me queda claro lo que quieres hacer (que es lo más importante).
¿A qué refieres con " varios registros a la vez"?
¿Te refieres en que estén en la misma transacción (o todos o ninguno)?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 13-12-2014
ginesgomezlopez ginesgomezlopez is offline
No confirmado
NULL
 
Registrado: jun 2012
Posts: 45
Poder: 0
ginesgomezlopez Va por buen camino
Me refiero a poder modificar varios registros de una vez (los registros que yo elija), primero los busco uno a uno, en un formato de rejillas como "dbgrid", en la primera columna introduzco el número de registro y me aparecen los distintos campos, en la segunda linea introduzco otro registro con sus campos, modificando el mismo campo en cada uno de los registros, una vez finalizado la introducción de registros y modificados, grabarlos todos ellos en un click de button, entonces la pregunta era cual sería el modo de hacerlo más sencillo, me parecía que tenía que ser implementarlo en un stringGrid pero no estoy seguro:

TiammatMX, nunca he probado con UPDATE de SQL, me informaré cómo funciona y ver si esta es buena opcion.

Gracias.
Responder Con Cita
  #5  
Antiguo 15-12-2014
ginesgomezlopez ginesgomezlopez is offline
No confirmado
NULL
 
Registrado: jun 2012
Posts: 45
Poder: 0
ginesgomezlopez Va por buen camino
Sería el mismo caso que cuando voy a comprar varios artículos en una tienda, y se ve en pantalla una cuadrícula con varias columnas y filas, en la columna de la izquierda introducen el código y en las siguientes aparecen su caracteristicas, como por ejemplo en una ferretería, compro 30 tornillos, introduzco el código en la primera columna, y ya aparecen en el resto de columnas sus características, como puede ser en en una columna el material que está hecho, en otra la longitud, en otra la forma etc, etc, y en la última introduce cantidad que compro, luego en la siguiente fila introducen el código de por ejemplo sierras en la siguiente otro artículo, y al final con un click me sale el ticket y se queda grabado todos los articulos con las cantidades compradas.

Pero en un dbgrid no lo puedo hacer, en un stringrid tampoco, en un drawgrid tampoco, como podría conseguirlo.
Responder Con Cita
  #6  
Antiguo 15-12-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
http://www.clubdelphi.com/foros/showthread.php?t=38055
Responder Con Cita
  #7  
Antiguo 18-12-2014
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 20
fidel Va por buen camino
No está claro lo que quieres: modificas el mismo campo pero la modificación es la misma en todos los registros o es distinta, si es dintinta haz que se guarde al salir de cada campo modificado y si la modificación es la misma en todos los campos sería como te dice TiammatMX, es lenguaje SQL que por lo que dices no conoces. Aquí tienes algunos tutoriales:
http://www.asptutor.com/sql/
http://deletesql.com/viewforum.php?f...66dae8489bb0eb
http://www.aulaclic.es/sql/f_sql.htm
Responder Con Cita
  #8  
Antiguo 18-12-2014
ginesgomezlopez ginesgomezlopez is offline
No confirmado
NULL
 
Registrado: jun 2012
Posts: 45
Poder: 0
ginesgomezlopez Va por buen camino
Vamos a ver, tengo una tabla con cinco campos y ya tengo grabados 100 registros, ahora bien, en un formulario nuevo inserto un Dbgrid y un Button 1, el Dbgrid lo configuro para que esté vacío sin ningún dato, aunque sí me aparezca en la parte superior el nombre de los cinco campos de la tabla, el primer campo es el código, quiero modificar el campo 3 de los siguientes registros el 18 el 20 el 60 el 75 y el 90, pues bien introduzco en la columna 1 que corresponde al campo 1, que seria la celda (1,1) introduzco el 18 (pulso intro) y automáticamente me salgan los datos de la tabla del campo 2,3,4 y 5 modifico el campo 3 y me voy a la fila 2 (celda 2,1) e introduzco el codigo 20 (pulso intro) me vuelven a salir los datos del registro 20 campo 2,3 4 y 5 y modifico el campo 3 de ese registro por que sólo quiero modificar el campo 3 de estos registros, y así sucesivamente el registro 60,75 y 90. Finalizo de introducir todos los registros de los cuales sólo he modificado el campo 3 de cada uno de ellos, pulso Button 1 y me graba los cinco registros con la modificación del campo 3 de todos los registros de una sóla vez.

Está claro que con un Dbgrid no lo puedo hacer, la pregunta es si la posibilidad es implementarlo con un stringgrid ó TDrawGrid que reconociera el click de la celda [1.1] y me rellenara los campos que pido, luego reconocer la celda [2,1] volviera a llenar los campos en la fila 2..., y una vez finalizado pulsar el Button 1 y que fuera reconociendo las celdas para grabar todos los registros que he introducido y los grabara todos juntos con la modificación del campo 3. o bien existe otra forma más sencilla, por eso os lo pido para no estar perdiendo el tiempo, Gracias.
Responder Con Cita
  #9  
Antiguo 18-12-2014
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Poder: 18
TiammatMX Va camino a la fama
Cita:
Empezado por ginesgomezlopez Ver Mensaje
...por eso os lo pido para no estar perdiendo el tiempo, Gracias.
¡Hombre, así de amable!...

Tu solución: Generar un campo a tu tabla (ya sea calculado o permanente) el cual será boolean, y pondrás al principio de tu TDbGrid. Si pulsas sobre él, su contenido cambiará al estado contrario, así podrás tener control sobre los marcados/no marcados.

Procesas los registros de tu preferencia basado en el estado de éste campo y ¡listo!, problema resuelto.
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #10  
Antiguo 19-12-2014
ginesgomezlopez ginesgomezlopez is offline
No confirmado
NULL
 
Registrado: jun 2012
Posts: 45
Poder: 0
ginesgomezlopez Va por buen camino
Si es una buena solución, pero pensé que delphi tenía algún desarrollo para este caso, ya que lo veo en todos los establecimientos donde voy y está muy extendido, lo de partir de una especie de DbGrid vacío y hacer click en la celda [1,1] crear el evento para implementar y rellenar la fila [1,2], [1,3],.... según los campos elegidos de una tabla y luego en la celda de abajo [2,1] lo mismo y rellenar las celdas [2,2],[2,3] y así sucesivamente..., pero se ve que no han considerado este caso los de delphi, de todas formas muchas gracias.
Responder Con Cita
  #11  
Antiguo 19-12-2014
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Poder: 18
TiammatMX Va camino a la fama
Cita:
Empezado por ginesgomezlopez Ver Mensaje
Si es una buena solución...
De hecho, es LA ÚNICA SOLUCIÓN..., y sí, los desarrolladores de Delphi piensan en todo, pero no cumplen caprichos, algunos de ellos muy necesarios...

Tristemente.
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #12  
Antiguo 20-12-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por TiammatMX Ver Mensaje
De hecho, es LA ÚNICA SOLUCIÓN..., y sí, los desarrolladores de Delphi piensan en todo, pero no cumplen caprichos, algunos de ellos muy necesarios...
Tristemente.

.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error al insertar varios registros el_barto PHP 2 18-12-2010 01:57:13
Concatenar varios registros mjjj SQL 7 01-07-2010 23:35:19
Modificacion de registros en Builder 6 paco_galo C++ Builder 0 26-04-2007 02:51:52
Seleccionar Registros por fecha de introducción/modificación dec Trucos 0 02-07-2006 10:12:47


La franja horaria es GMT +2. Ahora son las 11:42:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi