Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-04-2010
bothy bothy is offline
Miembro
 
Registrado: ene 2010
Posts: 144
Poder: 15
bothy Va por buen camino
Error al eliminar un registro

hola colegas.
tengo un problemita al eliminar un registro tengo este codigo
Código Delphi [-]
 db.Active :=true;
    db.Delete ;
  db.FieldByName('admin').AsString :=edit3.Text;
  db.FieldByName('pass').AsString :=edit4.Text  ;
  db.Post ;
  db.Cancel;
  application.MessageBox(pchar('Administrador Eliminado'),
      pchar('BIBLIOTECA MOCHICAHUI'), (MB_OK + MB_ICONWARNING));
y me tira este error
Cita:
raised exception class EIBClientError with message'NOt in edit mode'
segun yo el codigo esta bien y me debe eliminar el registro que esta en el
edit3 y edit4 pero no me lo elimina.
tambien tengo este codigo para inserter y modificar
codigo modificar
Código Delphi [-]
db.Active :=true;
  db.Edit ;
  db.FieldByName('admin').AsString :=edit3.Text;
  db.FieldByName('pass').AsString :=edit4.Text ;
  db.Post ;
  db.Cancel;
  application.MessageBox(pchar('Administrador Modificado'),
      pchar('BIBLIOTECA MOCHICAHUI'), (MB_OK + MB_ICONWARNING));
codigo insertar
Código Delphi [-]
db.Active :=true;
db.Append ;
db.FieldByName('admin').AsString :=edit3.Text;
db.FieldByName('pass').AsString :=edit4.Text ;
db.Post ;
     application.MessageBox(pchar('Administrador Registrado'),
      pchar('BIBLIOTECA MOCHICAHUI'), (MB_OK + MB_ICONWARNING));
       db.Cancel ;
de antemano gracias por su ayuda
Responder Con Cita
  #2  
Antiguo 23-04-2010
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 18
mcs Va por buen camino
Es normal que no te funcione.

El pseudo-codigo para borrar borrar un registro es este:
- Abrir la base de datos
- Abrir la tabla
- Buscar el registro a borrar
- Borrar el registro
- Cerrar la tabla
- Cerrar la base de datos

Por lo que entiendo, lo que tu haces es:
- Abrir la base de datos
- Abrir la tabla (db.Active:=true)
- Borrar el registro (db.Delete)
- Buscar el registro a borrar (db.FieldByName('admin').asString:=edit3.text y db.FieldByName('pass').asString:=edit4.text)
- Guardar los cambios (db.Post)

Como puedes ver, no es exactamente lo mismo...

Saludos,

Marc
Responder Con Cita
  #3  
Antiguo 23-04-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Creo que para hacer un Delete no necesitas hacer el Post.
Posicionate en el registro a eliminar y realiza el Delete.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 25-04-2010
bothy bothy is offline
Miembro
 
Registrado: ene 2010
Posts: 144
Poder: 15
bothy Va por buen camino
Hola colega muchas gracias por su tiempo y por ayudarme..

me podrian ayudar ya que hago el codigo como dijo mcs
El pseudo-codigo para borrar borrar un registro es este:
- Abrir la base de datos
- Abrir la tabla
- Buscar el registro a borrar
- Borrar el registro
- Cerrar la tabla
- Cerrar la base de datos
y me tira el mismo error
Código Delphi [-]
 db.Active :=true;
  db.Open ;

  db.FieldByName('admin').AsString :=edit3.Text;
  db.FieldByName('pass').AsString :=edit4.Text  ;
  db.Delete ;
  db.Cancel;
  db.Active :=true;
Responder Con Cita
  #5  
Antiguo 25-04-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No, amigo, no haces lo que dices, fíjate:
Código Delphi [-]
db.Active :=true;  <-  abres ¿la base de datos?
db.Open ;            <-  abres ¿la tabla?  como tienen el mismo nombre... ¿no se sabe qué es?
db.FieldByName('admin').AsString :=edit3.Text;   <- asignas un valor al campo admin
db.FieldByName('pass').AsString :=edit4.Text  ;    <- asignas un valor al campo pass
db.Delete ;  <- borras el registro donde estás posicionado (no has buscado nada)
db.Cancel;  <-  cancelas ¿el qué?
db.Active :=true;   <- cierras ¿la base de datos?

Evidentemente, no haces ni parecido a lo que te han sugerido que debe hacerse:
- Abrir la base de datos
- Abrir la tabla
- Buscar el registro a borrar
- Borrar el registro
- Cerrar la tabla
- Cerrar la base de datos
Responder Con Cita
  #6  
Antiguo 25-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Registro........?, no campo......?
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 25-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Veamos:
Se supone que tienes un registro en una tabla que contiene los campos admin y pass.
No se puede eliminar un registro con el mismo query que hace la consulta.
Lo que puedes hacer es si quieres usar el mismo query, crearle otra sentencia sql para que haga el delete COMPLETO del registro.
Algo asi:
Código Delphi [-]
  db.Active :=false;
  db.Sql.Text:= 'Delete * from TUTABLA where admin = :A And pass = :B';
  db.Parameters[0].Value:= edit3.text;
  db.Parameters[1].Value:= edit4.text;
  db.ExecSQL;
  db.Active :=false;
  db.Active :=True;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #8  
Antiguo 25-04-2010
bothy bothy is offline
Miembro
 
Registrado: ene 2010
Posts: 144
Poder: 15
bothy Va por buen camino
hola caral muchas gracias
estaba utilizando el mismo query
ya solucione el problema gracias colegas por su tiempo
Responder Con Cita
  #9  
Antiguo 25-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Y como lo hiciste?.
Aparentemente usaste otro query, pero que hiciste, que código usaste?
Recuerda que los hilos los ven otros y es bueno que sepan como lo resolviste.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #10  
Antiguo 27-04-2010
bothy bothy is offline
Miembro
 
Registrado: ene 2010
Posts: 144
Poder: 15
bothy Va por buen camino
hola amigos disculpen pero a qui estoy de buelta muchas gracias a la gente del foro que nos ayudan a nosotros los nobatos..

aqui esta el codigo puse otro query como lo dijo caral
Código Delphi [-]
  q2.Active :=close;
  q2.Sql.Text:= 'Delete * from administradores Values(:A,:B)';
  q2.ParamByName('A').AsString :=EDIT3.Text ;
  q2.ParamByName('B').AsString :=EDIT4.Text ;
  q2.ExecSQL;
Responder Con Cita
  #11  
Antiguo 27-04-2010
bothy bothy is offline
Miembro
 
Registrado: ene 2010
Posts: 144
Poder: 15
bothy Va por buen camino
disculpen mi error el codigo es este
Código Delphi [-]
q2.close;
  q2.Sql.Text:= 'Delete * from administradores Values(:A,:B)';
  q2.ParamByName('A').AsString :=EDIT3.Text ;
  q2.ParamByName('B').AsString :=EDIT4.Text ;
  q2.ExecSQL;
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
Eliminar registro Zakio14 Firebird e Interbase 5 20-03-2008 07:07:07
Eliminar registro de BD desde PHP fide PHP 5 31-01-2008 14:01:44
Eliminar registro de un .mdb con ADO ¥0n1 Conexión con bases de datos 2 07-11-2007 11:29:12
error al querer eliminar un registro pablito23 Conexión con bases de datos 0 05-07-2005 08:25:07
Eliminar registro de Windows verm83 Varios 1 11-04-2004 22:27:39


La franja horaria es GMT +2. Ahora son las 00:36:44.


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