Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   devuelve registros borrados en consulta a dbase (https://www.clubdelphi.com/foros/showthread.php?t=52994)

janlo 07-02-2008 10:10:01

devuelve registros borrados en consulta a dbase
 
Hola,
tengo un programa que hace una consulta a una tabla dbase y el problema es que si hay algún registro marcado como borrado me lo recoge también en la consulta y esto no lo quiero. Necesito que sólo me recoga los registros no borrados. ¿Cómo puedo solucionar esto?
Para hacer la consulta estoy utilizando el componente TADOQuery.

Delphius 07-02-2008 13:46:36

Hola janlo,
Lo que andas buscando es algo parecido a esto:

Código SQL [-]
SELECT tus_campos
FROM tu_tabla
WHERE (campo_marca_borrado = "NO")

Yo hice el supuesto de que el campo_marca_borrado es un VARCHAR, podría hacerse con un integer...

Código SQL [-]
WHERE (campo_marca_borrado = 0)

En fin, lo que debes hacer es añadir la sentencia WHERE a tu consulta con la condicición necesaria. En este caso que el campo sea distinto a algún valor, o en su defecto, que el campo sea igual al valor negado de ese último. Nota por ejemplo que el ejemplo es análogo al primero:

Código SQL [-]
WHERE (campo_marca_borrado <> "SI")

Espero que esto haya sido de ayuda.
Saludos,

eduarcol 07-02-2008 14:20:59

El problema es que DBase no elimina los registros, solo los marca para borrarlos, de alli viene el mensaje de Delphius, dale una pedida a este mensaje para que entiendas la situacion.

Delphius 07-02-2008 14:31:30

Cita:

Empezado por eduarcol (Mensaje 263967)
El problema es que DBase no elimina los registros, solo los marca para borrarlos, de alli viene el mensaje de Delphius, dale una pedida a este mensaje para que entiendas la situacion.

¿DBase? ¿Donde dice que se trata de DBase?

Cita:

Empezado por janlo (Mensaje 263943)
Hola,
tengo un programa que hace una consulta a una tabla dbase y el problema es que si hay algún registro marcado como borrado(...)

¡La pucha!
¡Ya me metí en donde no me llaman! Eso me pasa por leer mal:(

¿Entonces, dije cualquier ganzada?

Saludos,

BlueSteel 07-02-2008 15:33:37

Hola...

no se si funcione esto... pero si ejecutas en SQL algun comando de DBASE para que muestre solo los registros que no estan borrados...

el comando era

Set Delete On / Off (No me acuerdo si era On para mostrarlo)

Suerte:p:D

Jure 07-02-2008 16:24:51

Hola janlo, si usas la JVCL del Project Jedi si le haces un uses al archivo JvDbeUtils puedes usar para ocultar o mostrar los registro borrados el procedimiento:

Código Delphi [-]
DataSetShowDeleted(tblBrowse, True);  // Muestra los registros

DataSetShowDeleted(tblBrowse, False); // Oculta los registros
Donde tblBrowse es el componente TTable que estes usando.

Espero que te sirva de algo ;)

janlo 14-02-2008 10:35:16

Hola Jure,
perdona por tardar tanto en responder. He intentado instalar el JVCL en delphi 6 y me muestra un error que no me deja instalarlo.
De todas formas voy a intentar solucionar el problema de otra forma.
Gracias.

Delphius 14-02-2008 14:39:42

Sino me falla la memoria debes tener instalado y actualizado el "service pack 2 " de Delphi 6 para poder instalar JVCL.

Saludos,

Jure 15-02-2008 17:55:34

Cita:

Empezado por Delphius (Mensaje 265821)
Sino me falla la memoria debes tener instalado y actualizado el "service pack 2 " de Delphi 6 para poder instalar JVCL.

Delphius tiene razón, chequea eso ;)


La franja horaria es GMT +2. Ahora son las 18:58:52.

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