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 26-08-2004
images images is offline
Miembro
 
Registrado: ago 2004
Posts: 23
Poder: 0
images Va por buen camino
Gracias por tu respuesta

Pero si en el evento OnEditError hago un bucle, q esa era la idea, ¿un bucle de que?

Me refiero a que yo llamo a Tabla.Edit desde muchas partes de mi programa para hacer distintas cosas ¿como hago referencia al codigo en concreto para q haga el bucle? creo q sera imposible hacer esto ¿verdad?

Osea desde una ventana donde busco articulos en una tabla articulos(libros) hago un insert o un edit. Desde otra ventana AñadirALasListas hago otro edit o insert pero hago cosas distintas y asi etc.. etcc...

¿existe en Delphi alguna manera de decirle por ejemplo en el evento OnEditError: " Si Hay Error, Intenta de nuevo lo q se iva a hacer x veces o hasta conseguirlo?

Los q teneis mas experiencia en trabajo en Red ¿como lo haceis? No quiero q me deis el trabajo hecho ni nada, solo q sisteme utilizais, por que si tuviera todo el mes para averiguarlo por mi mismo, pero lo necesito este fin de semana


Saludos !!
Responder Con Cita
  #2  
Antiguo 26-08-2004
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 22
marto Va por buen camino
Wop!

Lo que quieres hacer es bastante sencillo. Supongamos que tienes un DataModule con tus DataSet's (si no lo tienes, deberías), bien, te declaras una variable privada de tipo integer, supongamos que se llama ContError. Bien, luego te programas una rutina de este estilo:

Código Delphi [-]
procedure TDataModule1.EditErrore(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction);
begin
  if ContError > 3 then
  begin
    ShowMessage('El registro no se puede editar, intentelo más tarde');
    Action := daFail;
    ContError := 0;
  end else
  begin
    Inc(ContError);
    Sleep(2000);
    Action := daRetry;
  end;
end;
Bien, la rutina hace lo siguiente. Si el contador de intentos es mayor que 3 (por ejemplo), saca un mensajote avisando, reinicia el contador y cancela. Si es menor, aumenta el contador, "duerme" durante 2 segundos (con la esperanza que el registro deje de estar bloqueado) e intenta de nuevo la acción.

Ahora solamente te falta asignar esta rutina al OnEditError de todos los datasets que quieras controlar.
Evidentemente puedes sofisticar el procedimiento, por ejemplo, con un form que avise al usuario de que se está intentando acceder al registro.
__________________
E pur si muove
Responder Con Cita
  #3  
Antiguo 27-08-2004
images images is offline
Miembro
 
Registrado: ago 2004
Posts: 23
Poder: 0
images Va por buen camino
Cita:
Empezado por marto
Supongamos que tienes un DataModule con tus DataSet's (si no lo tienes, deberías), ...
Si, tengo un DataModule con mis DataSet, Sessions ...

Supongo q estas cosas solo se aprenden con la experiencia, experimentando y la ayuda del propio Delphi. Lo digo porque estas cosas nunca vienen en los cursos de Programacion de IBM, ni en las guias rapidas. No se si vendra en el "Delphi 6 y Kylix" q acabo de adquirir. Supongo q debere meterle mano tambien a la ayua de Delphi y a la pagina de Borland.

En este mundo que esta tan "fragmentado" y "corrupto" resulta gratificante encontrar a personas como vosotros, que prestais vuestra ayuda, vuestro tiempo a los demas incondicionalmente.

Gracias
Responder Con Cita
  #4  
Antiguo 27-08-2004
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 22
marto Va por buen camino
Cita:
Empezado por images
Supongo q estas cosas solo se aprenden con la experiencia, experimentando y la ayuda del propio Delphi.
Bueno, la experiencia es un grado
Cita:
Empezado por images
Lo digo porque estas cosas nunca vienen en los cursos de Programacion de IBM, ni en las guias rapidas. No se si vendra en el "Delphi 6 y Kylix"
Pues yo tampoco lo sé, pero si te recomendé el libro de Marteens es porque se diferencia de otros en que, más que una extensa referencia, es una guia en la que se tocan muchos de estos "trucos" que los programadores necesitamos a diario.
Tambien te recomiendo que le eches un vistazo a trucomanía, allí encontrarás un montón de "recetas" para tareas muy frecuentes.

Cita:
Empezado por images
resulta gratificante encontrar a personas como vosotros...

Bueno, piensa que aquí todos aprendemos un montón. Todos planteamos dudas, además tambien se aprende intentando resolver problemas que otros usuarios plantean.
De todas maneras, siempre es un gustazo ver que el esfuerzo le ha servido a alguien
__________________
E pur si muove
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


La franja horaria es GMT +2. Ahora son las 19:00:21.


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