Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-09-2016
jose001 jose001 is offline
Miembro
NULL
 
Registrado: jul 2016
Posts: 13
Poder: 0
jose001 Va por buen camino
Recorrer y comparar datos en un tzquery

Hola buenas noches basicamente tengo un formulario en el cual tengo 2 Tedit para hacer un alta de un usuario utilizo un query de componentes zeos
y delphi 2010
en mi base de datos ya tengo creada la tabla
"cuentas" con el siguiente formato
Código SQL [-]
usuario
contrasenia
en mi componente query tengo la siguiente consulta

Código SQL [-]
select 
*
FROM
  `cuentas`
 where usuario = :usuario AND contrasenia = :contrasenia

Bien lo unico que quiero hacer ahora es recorrer dicho query y comparar si el edit llamado eUsuario es igual algun registro de la columna usuario si es igual mostrar un mensaje de que ya existe dicho usuario

e probado el siguiente codigo para esto pero no logro solucionar este planteamiento no se la verdad si no estoy recorriendo bien el query o la consulta esta mal echa alguna ayuda ?

Código Delphi [-]
while qCuentas.Eof do 
 if qCuentas.FieldByName('usuario').AsString=eUsuario.Text then
  begin
showmessage('existe');
else
qCuentas.post;
end;
qCuentas.Next;
end;
Responder Con Cita
  #2  
Antiguo 02-09-2016
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Hola Jose001,

Has pasado los parametros de ":usuario y :contrasenia"

La consulta que has puesto sólo te devolvera un registro el cual "while y qCuentas.Next" sobran.

El "Post" que has puesto ahí, no hara nada e incluso te puede dar algún error por que no esta en modo de edición.

Utiliza INSERT INTO en vez de "Post", he supuesto que sabes SQL.

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #3  
Antiguo 02-09-2016
jose001 jose001 is offline
Miembro
NULL
 
Registrado: jul 2016
Posts: 13
Poder: 0
jose001 Va por buen camino
Gracias

Cita:
Empezado por olbeup Ver Mensaje
Hola Jose001,

Has pasado los parametros de ":usuario y :contrasenia"

La consulta que has puesto sólo te devolvera un registro el cual "while y qCuentas.Next" sobran.

El "Post" que has puesto ahí, no hara nada e incluso te puede dar algún error por que no esta en modo de edición.

Utiliza INSERT INTO en vez de "Post", he supuesto que sabes SQL.

Un saludo.
Al query si lo tengo en modo de insert y activado antes del ciclo. las secuencias sql las entiendo lo que no entiendo bien es como recorrer los query y utilizar un if dentro para comparar un dicho campo. Sin necesidad de utilizar una instruccion "sql.add"
Responder Con Cita
  #4  
Antiguo 02-09-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola jose001.

Creo que no has entendido lo que te sugirió olbeup...

Comprendo que deseas avisar si el usuario existe o, modo contrario agregarlo. Si interpreté bién, sería algo parecido a esto:
Código Delphi [-]
...
 // Buscar el usuario:
  tuQuery.Close;
  tuQuery.SQL.Clear;
  tuQuery.SQL.Add('SELECT * FROM CUENTAS');
  tuQuery.SQL.Add('WHERE USUARIO = :USER');
  tuQuery.ParamByName('USER').AsString := eUsuario.Text;
  tuQuery.Open;

  if not tuQuery.IsEmpty then  
    ShowMessageFmt('El usuario %s ya existe',[eusuario.Text])  // el usuario existe, mostrar mensaje
  else                                                         // el usuario no existe, agregarlo
  begin
    tuQuery.Close;
    tuQuery.SQL.Clear;
    tuQuery.SQL.Add('INSERT INTO CUENTAS(USUARIO, CONTRASENIA)');
    tuQuery.SQL.Add('VALUES(:USER, :CONT)');
    tuQuery.ParamByName('USER').AsString := eUsuario.Text;
    tuQuery.ParamByname('CONT').AsString := eContrasenia.Text;
    tuQuery.ExecSQL;
  end;
...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 03-09-2016 a las 18:13:22.
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
Comparar datos array Caral Varios 7 24-12-2015 03:15:28
Recorrer y comprar datos en un DBgrid gonzabec Conexión con bases de datos 9 20-11-2012 21:18:47
Comparar datos, numeros Caral Varios 11 10-09-2012 00:16:08
Recorrer datos Acces bd amo3k OOP 2 13-02-2010 16:48:22
Comparar dos bases de datos paty_rlopez Conexión con bases de datos 2 02-09-2006 20:18:46


La franja horaria es GMT +2. Ahora son las 12:56:47.


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