Club Delphi  
    Paypal   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 05-02-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 17
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Es que basicamente estas usando una tabla para guardar 1 pedido con sus n linea de detalles y luego borras todo. Para que usar una tabla access para eso? Directamente podes mantener todo en memoria.

Si queres optar por la via de DataSet podes usar un ClientDataSet

Vas cargando todas las lineas del pedido en el ClientDataSet, una vez que se termina, lo cargas en "la otra tabla" y lo imprimes

Yo no borraria la informacion que se va guardando, agregaria un campo de estado en los pedidos (pendiente, borrado, facturado, etc)
Responder Con Cita
  #2  
Antiguo 05-02-2016
aromigaret aromigaret is offline
Miembro
 
Registrado: jun 2011
Posts: 74
Poder: 16
aromigaret Va por buen camino
Hola AgustinOrtu,

Te comento que no lo hago en memoria, pues al cerrar el programa se perdería la información. Dataset nunca lo use y después de estar usando el arcaico BDE, opte por interiorizarme con ADO y ahora agregue Access, después de utilizar tablas .dbf. Así que soy muy novato. Cual seria la ventaja de usar clientdataset por sobre ADO?
Responder Con Cita
  #3  
Antiguo 05-02-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 17
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
ClientDataSet es una tabla en memoria

No digo que mantengas todo el sistema entero en memoria; pero el pedido actual que estas cargando si

Vas cargando todo en una tabla de memoria (o llamala temporal si queres) que podria ser un TClientDataSet

Cuando se confirma el pedido, tomas todo lo que tiene el ClientDataSet (todos los "renglones") y lo vuelcas en la tabla access

Luego eliminas todo lo del ClientDataSet y podes volver a cargar otro pedido

Lo que digo que esta muy raro en tu programa es que estas usando una tabla para guardar basicamente una sola entidad. Estas cargando un pedido y luego lo borras y lo pasas a otra tabla. Por que?
Responder Con Cita
  #4  
Antiguo 05-02-2016
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 20
bitbow Va camino a la fama
Hola, creo que debes aclararnos que es lo que necesitas, para la generacion de pedidos puedes o no usar una tabla temporal (sea en memoria o no), pero en si cual es tu problema, y no me refiero a el reset de la clave primaria, si no al por que quieres reiniciarla? tal ves podamos darte otra idea de hacer lo que requieres.

El autoincrement no se va a reiniciar a menos que destruyas la tabla y la vuelvas a crear, podria ser una secuencia pero estas no existen en access.

Si requiere tener un master-detail

Cabecera
producto 1
producto 2

No es necesario que pongas el autoincrement, puedes contar los productos y poner el contador, pero si es recomendable que cambies a una tabla temporal.

Saludos.
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
query y obtener clave primaria monti SQL 6 13-12-2005 21:21:36
Ayuda Con Clave Primaria pablo2244 MySQL 4 30-05-2005 21:49:01
cambiar la clave primaria con SQL User_Baja_2 SQL 8 18-06-2004 08:41:31
Cambiar clave primaria pinoxito Firebird e Interbase 7 13-01-2004 21:51:26
cambiar una clave primaria User_Baja_2 SQL 3 06-10-2003 18:03:38


La franja horaria es GMT +2. Ahora son las 23:38:01.


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