Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-05-2006
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 21
joanajj Va por buen camino
Problema al borrar registro

Buenas a todos, al intentar borrar con dataset1.delete el registro actual de una tabla detalle, en vez de borrar ese registro me borra todos con el mismo numero de referencia y lo que quiero es que solo borre ese registro.Lo que tengo puesto en el dataset del detalle en SQLDELETE es(Estoy probando con FIBPlus Trial):
Código SQL [-]
DELETE FROM
    facturas
WHERE
        NUMERO = :OLD_NUMERO
supongo que el error está aquí pero no veo como hacer que solo borre el registro actual.
En la clave foranea he quitado el CASCADE y nada...
Responder Con Cita
  #2  
Antiguo 22-05-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Tienes que ampliar mas el rango en where. Indicarle otro campo que en su contenido sea diferente a los demas registros..
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #3  
Antiguo 22-05-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por joanajj
(...) en vez de borrar ese registro me borra todos con el mismo numero de referencia (...)
Pero la consulta SQL que escribiste hace exactamente lo que tiene que hacer. Es decir, tú estás diciéndole al gestor de bases de datos "borra todos los registros cuyo número de referencia este". Y el gestor de la base de datos hace lo que le dices. Ahora bien, como dice Troi, si acaso ese número de referencia puede repetirse en otros registros, entonces tendrás que basarte en otro "campo" de los registros para ser más específico.

¿No cuenta con un campo "ID" la tabla en donde se encuentran los registros que te interesan? Un campo "ID" como clave primaria y que se auto-incrementa de forma automática suele ser habitual en una tabla. Dos registros no podrán tener el mismo "ID" (se produciría una violación de la clave) de tal modo que puede utilizarse ese campo (junto con otros si es necesario) para borrar un registro en concreto.

¡Menudo rollo acabo de soltar! ¡Que Dios me perdone! Y vosotros me disculpéis.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 22-05-2006
chileno chileno is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
chileno Va por buen camino
hola..
no quiero ser pesado pero debes tomar algun apunte u/o tutorial sobre SQL,
te va ser de mucha ayuda...busca en la red...

http://mysql.conclase.net/

bueno esto es especifico para la base de datos MySQL....
Responder Con Cita
  #5  
Antiguo 22-05-2006
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 21
joanajj Va por buen camino
Gracias por la respuesta

Si, creo que tenéis razón, probaré la solución que me habéis dado, ya que efectivamente tengo un campo autoincrementable primario y estoy un poco verde y no caí en el detalle de utilizar ese campo para hacer el borrado selectivo, en cualquier caso tomo nota de lo del curso, creo que me hace falta. Estoy emprezando con Firebird debido a la desgracia de usar tablas Access hiperlentas...


Saludos...
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
error al borrar un registro noshy SQL 1 12-05-2006 20:13:07
Borrar lineas detalle al borrar registro maestro akinom38 Conexión con bases de datos 3 11-01-2006 10:38:07
borrar registro desde un query fabian20s Conexión con bases de datos 2 25-03-2005 13:48:50
Borrar un solo registro de la tabla Dante666 Conexión con bases de datos 1 30-10-2004 19:48:43
Borrar registro .mdb con ADO Masu Conexión con bases de datos 3 23-02-2004 19:16:10


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


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