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 31-01-2006
Palmiro Palmiro is offline
Miembro
 
Registrado: oct 2005
Ubicación: Argentina - Chaco
Posts: 57
Poder: 19
Palmiro Va por buen camino
Problemas de Eliminación

Hola Genta....

acudo a uds. para preguntarle como hago para solucionar el siguiente problemita que estoy teniendo.

Tengo una aplicacion conectada a una base de datos Access, mediante ADO---> DateSet
Resulta que cuando quiero hacer la eliminacion de un registro me aperece este error que me esta volviendo loco y nose como hacer para solucionarlo...

información de columna clave insufisiente para realizar la operación UpDate o Refresh

si alguin me puede brindar alguna ayuda, desde ya muchas gracias
__________________
No es lo mejor, pero es lo que hay...
Responder Con Cita
  #2  
Antiguo 31-01-2006
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.281
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
Crea una clave primaria en la tabla (un autonumérico si es necesario) y prueba de nuevo.
__________________
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
  #3  
Antiguo 31-01-2006
Palmiro Palmiro is offline
Miembro
 
Registrado: oct 2005
Ubicación: Argentina - Chaco
Posts: 57
Poder: 19
Palmiro Va por buen camino
Tengo la clave que es autonumerica y ademas es unica, osea no es una clave compuesta, solo esta formada por campo del registro.
__________________
No es lo mejor, pero es lo que hay...
Responder Con Cita
  #4  
Antiguo 01-02-2006
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.281
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
¿Cómo estás haciendo el borrado?
¿Puedes poner el código que utilizas para hacerlo?
__________________
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
  #5  
Antiguo 01-02-2006
Palmiro Palmiro is offline
Miembro
 
Registrado: oct 2005
Ubicación: Argentina - Chaco
Posts: 57
Poder: 19
Palmiro Va por buen camino
Primero que nada te agradesco tu inteción de ayudarme...aqui esta el codigo:

Código Delphi [-]
procedure TfrmCelulas.cmdEliminarCelClick(Sender: TObject);
begin
  if Application.MessageBox(' Confirma que desea Eliminar la Celula y todos sus Integrantes.',
      'Celulas', MB_YESNO + MB_ICONQUESTION) = ID_YES then
    DataSourceCel.DataSet.Delete;
end;
__________________
No es lo mejor, pero es lo que hay...

Última edición por jmariano fecha: 01-02-2006 a las 13:23:45.
Responder Con Cita
  #6  
Antiguo 01-02-2006
Avatar de Jonnathan
Jonnathan Jonnathan is offline
Miembro
 
Registrado: may 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 64
Poder: 19
Jonnathan Va por buen camino
Hola Palmiro, estuve buscando ese error que te aparece en foros y encontre un detalle común para todos los que hacían la pregunta: todos estaban tratando de modificar o borrar a partir de un conjunto de registros obtenidos por una consulta entre varias tablas o con otras funciones de SQL. Si es tu caso entonces deberas tratar de eliminar por otro medio y no usando la función del Dataset "Delete()", como por ejemplo armar una consulta de tipo "Delete from Tabla where campo1=:campo1...".
Si estas usando un ADOQuery puedes mostrarnos la consulta SQL que usas, asi te podemos recomendar como hacer el borrado. Saludos.
__________________
"En el siglo de la estupidez todas las casas comienzan por la fachada" (Fuckowsky)
Planeta Insólito, La Pluma Inspirada
Responder Con Cita
  #7  
Antiguo 01-02-2006
Palmiro Palmiro is offline
Miembro
 
Registrado: oct 2005
Ubicación: Argentina - Chaco
Posts: 57
Poder: 19
Palmiro Va por buen camino
muchas gracias por tu repuesta. Voy a hacer como me lo propusiste

Hasta pronto.
__________________
No es lo mejor, pero es lo que hay...
Responder Con Cita
  #8  
Antiguo 03-02-2006
Palmiro Palmiro is offline
Miembro
 
Registrado: oct 2005
Ubicación: Argentina - Chaco
Posts: 57
Poder: 19
Palmiro Va por buen camino
Aqui nuestro mi consulta...
Código SQL [-]
SELECT Celulas.CelLider, (Persona.PerApe+', '+Persona.PerNom) AS [Apellido y Nombre],                                                                                   
 Celulas.CelAnfitrion, (Anfitrion.PerApe+', '+Anfitrion.PerNom) AS Anfitrion, Anfitrion.PerDom, 
FORMAT(Celulas.CelHorario,"hh:mm AM/PM") AS Horario, CelId, Celulas.CelPastor, (Pastor.PerApe+', '+Pastor.PerNom)
 AS Pastor, Celulas.CelHorario, Celulas.CelDia, Celulas.CelActiva, Celulas.CelObserv, Celulas.CelFecInicio, 
Celulas.ZonaId
FROM Persona 
INNER JOIN ((Celulas 
INNER JOIN Persona AS Anfitrion ON Celulas.CelAnfitrion = Anfitrion.PerDNI) 
INNER JOIN Persona AS Pastor ON Celulas.CelPastor = Pastor.PerDNI) 
ON Persona.PerDNI = Celulas.CelLider

tambien me gustaria preguntarles porque cuando modificos los datos en dicha consulta los cambion no se ven inmediatamente, recien se pueden observar los cambios cuando la aplicación es cerrada, y luego la vuelvo a abrir.es decir que en tiempo de ejecución da la sensación de que los datos no se modificaron. He intentado con los siguientes codigos DateSet.Post; DateSet.Close; DateSet.Open; y con DateSet.Post; DateSet.Refresh; pero no sucede nada, los cambios no se ven en tiempo de ejecución. Si alguien me puede ayudar con esto desde ya se lo agradesco. Muchas Gracias

EDITO: Utiliza los Tags de SQL; En éste mensaje ya los he colocado yo; Comprueba la mejora.
__________________
No es lo mejor, pero es lo que hay...

Última edición por Neftali [Germán.Estévez] fecha: 03-02-2006 a las 14:09:55. Razón: Usar el TAG SQL
Responder Con Cita
  #9  
Antiguo 03-02-2006
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola:

Creo que Jonnathan tiene razon sobre la eliminación, ya que es un join de varias tablas, el delete se hace a través de una tabla, no tiene estas capacidades, creo sensato que lo mejor es armar una delete de la forma que proponen.

Hasta Luego -
__________________
No todo es como parece ser...
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
Problemas con instalacion y archivo idr20009.dll allende Varios 0 19-01-2006 15:46:33
problemas de eliminacion alfil123 Conexión con bases de datos 14 22-12-2005 00:22:00
problemas con visualizacion en winxp seb@ OOP 1 07-08-2005 15:19:51
Problemas de actualizacion Master-Detail Hidalgo Conexión con bases de datos 2 05-09-2003 22:58:46
Problemas de actualizacion Master-Detail Hidalgo Firebird e Interbase 2 05-09-2003 16:45:57


La franja horaria es GMT +2. Ahora son las 05:41:33.


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