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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-02-2016
aromigaret aromigaret is offline
Miembro
 
Registrado: jun 2011
Posts: 68
Poder: 13
aromigaret Va por buen camino
Sobre la tabla Pedidos se "escriben" mercadería solicitada. Una vez impresa la nota se borran todos los artículos y se inicia nuevamente. La clave primaria, debería iniciarse para que no crezca hasta el infinito.
Responder Con Cita
  #2  
Antiguo 05-02-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.084
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Para borrar todos los registros de una tabla:
Código SQL [-]
delete from nombredelatabla
Responder Con Cita
  #3  
Antiguo 05-02-2016
aromigaret aromigaret is offline
Miembro
 
Registrado: jun 2011
Posts: 68
Poder: 13
aromigaret Va por buen camino
Eso lo hice, pero no reinicia la clave primaria, sigue numerando desde la ultima entrada hecha.
Responder Con Cita
  #4  
Antiguo 05-02-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.084
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y cómo lo haces?

Explica con detalle todo, puedes escribir todo lo que quieras, no hay límite, es que estamos con un diálogo casi monólogo/monosílabo
.
Responder Con Cita
  #5  
Antiguo 05-02-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
No deberias nunca reiniciar la clave primaria

Cual es el problema que crezca "hasta el infinito"?
Responder Con Cita
  #6  
Antiguo 05-02-2016
aromigaret aromigaret is offline
Miembro
 
Registrado: jun 2011
Posts: 68
Poder: 13
aromigaret Va por buen camino
Perdón, tratare de ser mas claro.
Tengo una tabla llamada Pedidos en ella se cargan todos los ítems que va pidiendo un cliente, una vez finalizada la carga se imprime el pedido y se guarda en otra tabla lo cargado. Debo reiniciar la tabla 'Pedidos' para una nueva carga. Para ello yo hacia lo mismo que vos mencionaste:

Código Delphi [-]
PEDIDOS.close;
LIMPIAR.SQL.text:='delete from pedidos';
LIMPIAR.execsql;
PEDIDOS.open;

Pero al iniciar una nueva carga, veo que el campo auntoincrementable y clave primaria 'Renglon' de la tabla pedidos continua con el siguiente numero dejado por la anterior carga en vez de iniciar desde 1.

Acabo de probar lo siguiente:

Código Delphi [-]
    PEDIDO.Close;
    LIMPIAR.SQL.Text:='DROP TABLE PEDIDOS';
    LIMPIAR.ExecSQL;

    LIMPIAR.SQL.Text:='SELECT * INTO PEDIDOS FROM ORIGINAL';
    LIMPIAR.ExecSQL;

    PEDIDO.Open;

Intentando copiar la estructura de ORIGINAL (Una tabla igual a Pedidos, pero vacia) y me da el siguiente error cuando lo ejecuto sin el debugger:

"El motor de bases de datos Microsoft Jet no pudo encontrar el objeto 'PEDIDOS' ....."

Ahora cuando lo ejecuto con el debugger, no aparece el error, hace todo perfecto, así que no sé en que línea se produce dicho error.
Responder Con Cita
  #7  
Antiguo 05-02-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
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
  #8  
Antiguo 05-02-2016
aromigaret aromigaret is offline
Miembro
 
Registrado: jun 2011
Posts: 68
Poder: 13
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
Respuesta



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 21:11:38.


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