Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-06-2007
Avatar de Dantael
Dantael Dantael is offline
Miembro
 
Registrado: nov 2003
Posts: 50
Poder: 21
Dantael Va por buen camino
Talking condición de query

Hola estoy revisando unos querys y tengo una duda, lo ponen de la siguiente forma
Select * from tabla where condicion1 = ::condicion1;

Nunca había visto los dos puntos después del igual alguno de ustedes sabe que significa?

Saludos
Responder Con Cita
  #2  
Antiguo 05-06-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Esto significa que buscara un parametro, osea que el dato despues de los dos puntos es el que se validara.
Código Delphi [-]
adoquery1.sql.text:= 'Select * from tutabla where TuCampo = :TUcondicion';
adoquery1.parambyname:= Tucondicion;
vendria siendo parecido a:
Código Delphi [-]
adoquery1.sql.text:= 'Select * from tutabla where TuCampo = '+edit1.text;
De la primera sitaxis no estoy muy seguro, pero es la idea general.
Saludos
Responder Con Cita
  #3  
Antiguo 06-06-2007
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Sin quitar merito al mi amigo Caral y dando otro ejemplo...

El significado de eso es que se has declarado un parametro en al sentencia sql que contendra un dato que sera dado por delphi por medio de un componente (Query). En lugar de tener valores fijos o tener concatenar string's, pues usamos eso.
Código Delphi [-]
Procedure Prueba1;
begin
  Query1.Sql.Text:='Select * from clientes Where Codigo=:sCodigo';
//Declarado sCodigo como parametro, una vez ahí puedes asignarle en 
//cualquier momento cualquier valor (valido para sql)
end;

//Asignarlo desde Prueba2
Procedure Prueba2
begin
  Query1.Close;
  Query1.ParamByName('sCodigo').AsString:='loqueseString';
//Pues usar AsInterger, AsFloat,...dependiendo del tipo de dato;
  Query1.Open;
end;
//Asignarlo desde Prueba3
Procedure Prueba3
begin
  Query1.Close;
  Query1.ParamByName('sCodigo').AsInteger:=7282;
  Query1.Open;
end;
//Puedes invocar tanto Prueba2 como Prueba3 sin modifical la sentencia inicial

Saludos
__________________
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
  #4  
Antiguo 06-06-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Gracias vtdeleon.
Ya era hora de que apareciera un maestro y diera la respuesta correcta.
Nada de quitar merito maestro, merito tiene el que contesta bien.
Estupendo ejemplo.
Saludos
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
filtrado por condicion aanil OOP 3 03-08-2006 19:13:22
Condición Where con resta de 2 campos Johnny Q SQL 6 13-01-2006 18:02:57
Finalizar una Condición jdangosto OOP 3 02-12-2005 08:57:38
condicion en un edit !! romansiux Varios 5 10-04-2005 02:25:40
condicion IF haffo Varios 11 06-11-2003 22:36:04


La franja horaria es GMT +2. Ahora son las 01:19:14.


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