Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-08-2006
Avatar de destrukthor
destrukthor destrukthor is offline
Miembro
 
Registrado: may 2006
Posts: 57
Poder: 21
destrukthor Va por buen camino
Wink Gracias amigo ya resolvi el problema

Buenop muchas gracias por las repuestas, y la encontre en aquellas q me hicieron recordar q al encotrar un registro existente este cambia automaticamente de posicion y eso me llevo a verificar las posiciones de un registro nuevo por el insert y verificar el registro encontrado.

De esa forma no tuve q cambiar nada de mi formulario y seguir trabajando con los TDBedit y seguir confiando en ellos.

Solo tengo un detalle y es q el Tabla1.Cancel no me anula el Registro nuevo y sigue existiendo, no le he dado la instruccion de Tabla1.Post sino el Cancel, pero = me sigue guardando los datos.

Alguna sujerencia a mi problema
Gracias nuevamente.
__________________
Solo se q nada Se, Cada dia es un aprendisaje y asi siempre sera.
Responder Con Cita
  #2  
Antiguo 01-08-2006
Avatar de destrukthor
destrukthor destrukthor is offline
Miembro
 
Registrado: may 2006
Posts: 57
Poder: 21
destrukthor Va por buen camino
Wink Para PepeLolo porfis

Oye amigo primero gracias por las reglas esta buenas.
Segundo soy algo novato en esto, me puedes hacer una sujerencia en donde encontrar ejemplos en relacion a estos puntos mencionas por ti, o es su defecto podrias tu darme algunos ejemplos para realizar estas validaciones y no tener q hacerme volas con procesos algo engorrozos, (pero q me sirve), y optimizar mi programacion en Delphi.
En serio desde ya muchas Gracias, eres un gran aporte.
__________________
Solo se q nada Se, Cada dia es un aprendisaje y asi siempre sera.
Responder Con Cita
  #3  
Antiguo 01-08-2006
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 destrukthor
Solo tengo un detalle y es q el Tabla1.Cancel no me anula el Registro nuevo y sigue existiendo, no le he dado la instruccion de Tabla1.Post sino el Cancel, pero = me sigue guardando los datos.
Hola, no quisiera ser pesimista pero es justamente este detalle el que indica que en realidad no has resuelto el problema. Como ya te indicó afxe, al moverte de posición, el registro que estabas insertando se "postea" automáticamente por lo cual el Cancel ya no tiene ningún efecto.

Hasta donde veo tienes dos opciones.

1. La que ya usas que es escribir los datos en un Edit normal (por lo menos los datos de la llave de la tabla) y hacer la búsqueda. Si no hay registro con esa llave entonces puedes pasar a una segunda parte del formulario donde captures el resto de datos, ahora sí con DBEdits.

2. Olvidarte de la búsqueda y prepararte en el evento OnPostError de la tabla para avisarle al usuario que el registro está duplicado.

// Saludos
Responder Con Cita
  #4  
Antiguo 01-08-2006
Avatar de destrukthor
destrukthor destrukthor is offline
Miembro
 
Registrado: may 2006
Posts: 57
Poder: 21
destrukthor Va por buen camino
Gracias Roman

Bien ahora entiendo porq no funciona el cancel, efectivamente cambia la posicion de registro al encontrarlo.
Bien ahora solo si puedes me darias un ejemplo para el evento OnPostError, si no fuese molestia.
Desde ya Gracias.
__________________
Solo se q nada Se, Cada dia es un aprendisaje y asi siempre sera.
Responder Con Cita
  #5  
Antiguo 01-08-2006
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
OnPostError puede generarse por diversas razones así que debes distinguir cuál fue. Aquí tienes un ejemplo de marcoszorrilla donde se trata esto.

// Saludos
Responder Con Cita
  #6  
Antiguo 01-08-2006
Avatar de PepeLolo
PepeLolo PepeLolo is offline
Miembro
 
Registrado: jun 2003
Ubicación: Fuenlabrada - Madrid - Espagna
Posts: 265
Poder: 24
PepeLolo Va por buen camino
Como dice roman, puedes usar el ejemplo que te indica o esta otra forma; esto depende del metodo que quieras usar para la validación de la clave.

Este ejemplo es para cualquier tipo de validación (clave primaria, clave foranea)

Código Delphi [-]
{
*Documentación*
*Nombre: QCatalogosCDPROVEEDORValidate
*Tipo: procedure
*Título: Mantenimiento de Proveedores
*Autor: JMCDM INFOSERVICIOS U.S.Y.P. (Unidad de Soluciones y Proyectos)
*Descripción:
       Comprobar si el proveedor ya existe 

*Parámetro de entrada:


*Modificaciones*
*Fecha:
*Autor:
*Descripción:
}
begin
  if Sender.AsString = '' then Exit;
  if BuscarSql('SELECT CDPROVEEDOR FROM HABI_PROVEEDORES WHERE CDPROVEEDOR = ' + '''' + Sender.AsString + '''') <> '' then
   begin
     Sender.FocusControl;
     ECDPROVEEDOR.Clear;
     DataBaseError('Ya existe el Proveedor');
   end;
end;

Espero que te sirva.
__________________
PepeLolo
El hombre el único virus que mide más de unas cuantas micras
Responder Con Cita
  #7  
Antiguo 01-08-2006
Avatar de destrukthor
destrukthor destrukthor is offline
Miembro
 
Registrado: may 2006
Posts: 57
Poder: 21
destrukthor Va por buen camino
Fiuuuu paso volando ;)

Uffff..
Amigo viendo tu codigo, creo q me falta mucho para llegar a entender este codigo.
Sorry no lo entendi, te recuerdo q soy novato y estoy haciendolo en Paradox 7, creo q no entiendo mucho la validacion en delphi, antes trabajabaz en Clipper y el control de los ingresos lo hacia yo directamente estaba acostumbrado a validarlo con comandos y mensajes propio.
Sorry nuevamente por mis problemas.
Pero quiero aprender bien por eso mi insistencia me parece q Delphi fue mi mejor opcion antes programaba en VisualFox Pro, pero los metodos de programacion es muy larga y engorroza.
__________________
Solo se q nada Se, Cada dia es un aprendisaje y asi siempre sera.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
busqueda sql Dark Aeris Firebird e Interbase 10 06-06-2006 23:05:20
Busqueda Con Una Sql salvanano SQL 5 05-05-2005 20:59:11
Problemas con busqueda romansiux Conexión con bases de datos 3 30-04-2005 17:48:58
busqueda alachaise Internet 1 31-03-2005 16:57:34
Problemas con los campos Busqueda walace_soy Firebird e Interbase 5 24-09-2004 09:02:15


La franja horaria es GMT +2. Ahora son las 19:37:46.


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