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 29-07-2016
ezerusso ezerusso is offline
Registrado
NULL
 
Registrado: oct 2015
Posts: 5
Poder: 0
ezerusso Va por buen camino
dbgrid GUARDADO

hola tengo un problema con el guardado de un registro en una dbgrid asociada a una base de datos access, tengo un ADOconection, un ADOtable un datasourse. 2 botones uno con insert y el otro con post para guardar, el problema es que al guardar el registro en medio de la tabla se gurda al final.. quisera que se guarde donde señale y se quede ahi y no al final..
Responder Con Cita
  #2  
Antiguo 29-07-2016
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
Deja vù..., ví un tema similar recientemente...

¿Y si en lugar de hacer un Post general, si lo que deseas es guardar UN SÓLO REGISTRO, guardas solamente ése registro? O monitorear los registros que hayan cambiado y guardarlos o actualizarlos...
__________________
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 29-07-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por ezerusso Ver Mensaje
hola tengo un problema con el guardado de un registro en una dbgrid asociada a una base de datos access, tengo un ADOconection, un ADOtable un datasourse. 2 botones uno con insert y el otro con post para guardar, el problema es que al guardar el registro en medio de la tabla se gurda al final.. quisera que se guarde donde señale y se quede ahi y no al final..
Vale, y no repitas hilos, gracias
Responder Con Cita
  #4  
Antiguo 30-07-2016
orodriguezca orodriguezca is offline
Miembro
 
Registrado: ene 2009
Posts: 221
Poder: 16
orodriguezca Va por buen camino
A ver si entendí: lo que pretendes es insertar un registro en una tabla pero que tenga el mismo comportamiento que insertar una línea en medio de un documento en un editor de texto?

Suponiendo que la respuesta es SI hay que tener en cuenta que físicamente los registros se adicionaran de forma natural al final de la tabla. Otra cosa es el orden en que se quieren mostrar esos registros. Considerando lo anterior propongo la siguiente, quizas descabellada, idea:

1. Agregar a la tabla una columna, de tipo caracter, por ejemplo char(15), para ordenar/secuenciar por esa columna.
2. En esa nueva columna colocar el orden en que se mostrarán los registros, por ejemplo:

0001.000.000 (Primer registro)
0002.000.000 (Segundo rergistro)
.
.
.
0100.000.000 (Registro 100)

3. Si posteriormente deseamos insertar un registro nuevo entre los registros 1 y 2 podríamos hacerlo de esta forma:

0001.000.000 (Primer registro)
0001.001.000 (Primer nuevo registro)
0001.002.000 (Segundo nuevo registro)
0002.000.000 (Segundo registro)
.
.
.
0100.000.000 (Registro 100)

4. En algún momento es posible que tengamos demasiadas novedades y sea conveniente "resecuenciar" toda la tabla.

Repito, es solo una idea. Espero no estar MFT.
Responder Con Cita
  #5  
Antiguo 30-07-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Efectivamente, los registros se van guardando siempre al final. Es responsabilidad del programador ordenarlos si hace falta o crear un indice

En Delphi, el metodo TDataSet.Insert para tablas Access, tiene en cuenta los indices

Cita:
For dBASE, FoxPro, and Access tables, the record is physically appended to the dataset at the end. If an index happens to be active, the new record may appear in a position relative to the index, but the record is still actually stored at the end of the table.
Asi que una de dos, o te creas un indice, u ordenas la tabla

Yo agregaria un campo mas, un timestamp, que seria la fecha/hora en la que se crea el registro, y ordenas o indexas por ese campo. Si Acesss no soporta el timestamp, un simple campo DateTime te servira, y cuando insertas el nuevo registro, le grabas la fecha/hora actuales. En Delphi eso lo haces con la funcion Now
Responder Con Cita
  #6  
Antiguo 01-08-2016
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Creo que la respuesta va más por lo que indica orodriguezca. Un timestamp te proporciona un orden temporal de inserción y lo que pide el forista es que el registro quede ordenado en el lugar en que se hace la inserción visualmente en el dbgrid.

No sé yo si podría usarse también un campo float asignando, por ejemplo, el número a la mitad entre el registro anterior y posterior.

LineComment Saludos
Responder Con Cita
  #7  
Antiguo 02-08-2016
ezerusso ezerusso is offline
Registrado
NULL
 
Registrado: oct 2015
Posts: 5
Poder: 0
ezerusso Va por buen camino
gracias por responder. El usuario roman digamos que me entendio, la idea basicamente es que se visualice en la linea donde estoy agregando los datos en la dbgrid y que al apretar el boton que tiene el insert al guardarse no se desplacen los registros agregados hacia el final de la tabla.
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
Bucle de guardado de Edit's wiwaedu Varios 2 04-06-2015 11:19:56
condicionar el guardado de un archivo DarkBlue Servers 2 19-06-2012 21:19:49
Colocar Ancho De columna de un DBGrid dependiendo del ancho del maximo campo guardado gulder Varios 3 08-11-2008 13:27:34
mantener el valor guardado Ariel03 OOP 3 24-06-2007 00:09:19


La franja horaria es GMT +2. Ahora son las 04:14:54.


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