Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-06-2005
carlos gonzalez carlos gonzalez is offline
Miembro
 
Registrado: may 2005
Posts: 108
Poder: 22
carlos gonzalez Va por buen camino
Perdon

Perdon por publicar mas de un hilo, soy nuevo en el uso de esta pagina, pero ya ni vuelve a suceder

Saludos tu amigo Charles
Responder Con Cita
  #2  
Antiguo 17-06-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 26
vtdeleon Va por buen camino
Saludos

1ero Bienvenido al Foro

2do Leer
Guía de Estilo de los foros
calidad de las preguntas
Utilizar la etiqueta CODE

Asi no volvera a suceder

Disculpa mi manera de contesta ahorita, pero esta semana ha sido un caos
__________________
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 18-06-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Independientemente de lo comentado por vtdeleon Comprueba esto:

doble clic a tu tabla tuser. En algún campo tienes la propiedad Required a True?, en delphi.

Si lo tienes, (casi seguro que si) entonces el error de clave duplicada es un EdatabaseError, por eso no entra en el except que tienes puesto.

Puedes poner a ese campo el Required a false, y dejar en tu base de datos Required a True; así si funcionará con el código actual.

Otro tema más grave, es que estas capturando cualquier error de tipo EDBEngineError. El error concreto de violacion de claves es: Integrity Violation

9729 : Key violation.
(en internet buscando por "BDE ERROR CODES", seguro que encuentras el listado completo).

La comprobación correcta será:
Código Delphi [-]
  if (E is EDBEngineError) then
    with EDBEngineError(E).Errors[0] do     
    if ErrorCode = 9729 then
    begin
       // tu mesage box

    end
  else
    raise;

Edito: Faltaba poner .Errors[0] para acceder a ErrorCode, Gracias carlos

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 20-06-2005 a las 18:11:17. Razón: Código Incompleto.
Responder Con Cita
  #4  
Antiguo 20-06-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.740
Poder: 26
ContraVeneno Va por buen camino
ESDMssError?????

Saludos a todos
Estoy tratando de captura el mismo error de "duplicate key" pero no logro conseguirlo... estoy utilizando SQL server y delphi 5.
el problema es que E no es EDBEngineError, el classname que me muestra es ESDMssError pero tampoco logro encontrar información sobre ese punto.
El error se refiere a "duplicate key" con el número de error 2601 el cuál si he encontrado información... en fin, si alguien tiene alguna pista de hacia donde dirigirme se los agradecría mucho.

este es el código que tengo:
Código Delphi [-]
try
ExecSQL; //Instrucción insert
except on E:Exception do begin
ShowMessage('Error Tipo: '+E.ClassName+', Con el mensaje: '+E.Message);
If (E is EDBEngineError) then //¿nunca es verdadero?
messagebox(handle,'No se puede guardar','Error',MB_ICONERROR);
end; //Fin except
end; //Fin try

Gracias y saludos a todos.
__________________

Responder Con Cita
  #5  
Antiguo 20-06-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por ContraVeneno
el problema es que E no es EDBEngineError, el classname que me muestra es ESDMssError pero tampoco logro encontrar información sobre ese punto.
Pues no tendrías más que sustituir EDBEngineError por ESDMssError:

Código Delphi [-]
on E:ESDMssError do
begin

...

end;

// Saludos
Responder Con Cita
  #6  
Antiguo 20-06-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.740
Poder: 26
ContraVeneno Va por buen camino
Si, yo tambien pense lo mismo... pero delphi no conoce a ESDMssError; al compilar marca(undeclared identifier). Pense que me haría falta una unidad pero hasta ahora ningúna búsqueda a dado resultado con la palabra 'ESDMssError'....
solo se que E.ClassName=ESDMssError pero no logro encontrar información referente a esto...
__________________

Responder Con Cita
  #7  
Antiguo 21-06-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Creo que podrías utilizar el Browser de Delphi.

Abre tu proyecto y selecciona View|Browser. Da click derecho en cualquier parte del browser y selecciona Properties y ahí, en Browser Scope (abajo a la derecha) marca el botón All Symbols. Luego selecciona la ficha Globals del browser y recorre hasta la rama de variables y constantes y busca ahí a ver si está el símbolo. En el panel derecho deberá aparecer la unidad en donde está declarada y será la que tienes que incluir.

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 15:39:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi