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 25-05-2007
robertillo robertillo is offline
Miembro
 
Registrado: may 2006
Posts: 13
Poder: 0
robertillo Va por buen camino
Question validar datos contra un valor de una tabla

Hola;

Actualmente estoy programando en Delphi una aplicación pequeña - este foro es un tesoro para aprender (gracias) - mi duda va en que quiero validar un dato (código) que se pone en un TEdit y me indique si ese valor esta o no en la base de datos por medio de una bandera o mensaje ej:

si pongo 01 y ese valor esta en la tabla, me muestre un mensaje de que existe, sino me muestra uno de que no esté o algo así.

Estoy haciendo algo como esto pero no se si me estoy complicando más de lo debido


Código Delphi [-]
procedure validarVehiculo (xValor: string; var xValidado: boolean);
var     
DatosRegistro: TClientDataSet;    
xSQL: string;
begin
xSQL:= 'select v.cod_vehiculo '
        +'from vehiculo v, empresa e '
        +'where v.id_empresa = e.id_empresa '
        +'and v.cod_vehiculo =' + xValor + ' order by id_ruta_lugar'; //aqui no estoy muy seguro        
        +'order by cod_vehiculo ';
 
 with DatosRegistro do begin   
  if not (RecordCount = 0) then begin  
 
 //...codigo   
 //...asumo que por aqui tengo que hacer una validación tipo
 
 if xValor = fieldByname('cod_vehiculo')
 if Edit1.Text = xValor then
    xValidado:= true
  else 
   xValidado:= False;
end;




uso como motor de BD: interbase
Alguien me puede guiar un pco o si tienen una idea mejor . Saludos

Última edición por jachguate fecha: 25-05-2007 a las 18:56:20.
Responder Con Cita
  #2  
Antiguo 25-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
En este aspecto Firebird es igual a Interbase, puedes leer este mensaje en concreto. En concreto la última parte del mensaje es la que se refiere a tu caso concreto, pero también puede valerte el resto.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 25-05-2007
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
Cita:
Empezado por robertillo
//...asumo que por aqui tengo que hacer una validación tipo

Código Delphi [-]
 if xValor = fieldByname('cod_vehiculo')
 if Edit1.Text = xValor then
Una vez que accedes al campo con FieldByName, te falta decir cómo quieres recoger el dato...

Código Delphi [-]
  if (xValor = FieldByName('Cod_vehiculo').AsString) ...
__________________
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-05-2007
Kenobi Kenobi is offline
Miembro
 
Registrado: mar 2007
Posts: 191
Poder: 18
Kenobi Va por buen camino
tengo dos inquietudes en torno a este tema.....

Hola amigos, aca van mis inquietudes ....

Código SQL [-]
xSQL:= 'select v.cod_vehiculo '
+'from vehiculo v, empresa e '
+'where v.id_empresa = e.id_empresa '
+'and v.cod_vehiculo =' + xValor + ' order by id_ruta_lugar'; //aqui no estoy muy seguro 
+'order by cod_vehiculo ';

1.- porque usar una instruccion sql si podrias usar locate.....

digo yo la instruccion locate es mas sencilla y segun entiendo la idea es tener la menor cantidad de codigo posible, por aquello del futuro mantenimiento......

2.- de esto no estoy muy seguro pero creo que esta instruccion no es muy segura....

Código SQL [-]
if not (RecordCount = 0) then

de donde lo saque esto de que no es muy segura, no lo recuerdo y alli esta mi inquietud ...

segun entiendo el modo mas "seguro" para reemplazar dicha instruccion es asi..

Código SQL [-]
if not tabla.eof then

en todo caso es mi humilde aporte, y si estoy equivocado, please haganmelo saber,.....
Responder Con Cita
  #5  
Antiguo 25-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Cita:
Empezado por Lepe
En este aspecto Firebird es igual a Interbase, puedes leer este mensaje en concreto. En concreto la última parte del mensaje es la que se refiere a tu caso concreto, pero también puede valerte el resto.

Saludos
Pero en concreto, este mensaje mio es demasiado concreto.


PD: Juer que espeso estaba (asias jhonny)
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 25-05-2007
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
He editado el mensaje original de robertillo para encerrar el código en la etiqueta [delphi], de manera que él pueda editarlo y ver la forma de usarla. Además, en mi firma, están los vínculos a la ayuda de la etiqueta [code] que se usa de la misma manera.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
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
Validar XML contra un XML Schema Sagara Internet 1 09-03-2010 07:23:31
validar la entrada a una tabla paco_galo C++ Builder 0 20-05-2007 21:19:20
LEFT OUTER JOIN 1 tabla contra 6 mas jjorell DB2 1 28-11-2006 18:52:23
comparar dbedit contra registros de una tabla dmagui Conexión con bases de datos 5 19-07-2006 13:59:09
Validar estado de una Tabla mtpedro Conexión con bases de datos 1 26-10-2004 20:39:57


La franja horaria es GMT +2. Ahora son las 21:52:13.


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