Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-06-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
problema con locate

Buenas. Sigo con problemas, sorry.
tengo un recuadro donde meto un usuario y una contraseña, lo primero es buscar el usuario para posicionarse en el registro en cuestion con esta linea
Código Delphi [-]

datausuarios.tablasusuarios.Tusuario.locate('Usuario',usuario.Text,[loPartialKey]);
le paso usuario.text para localizar el registro, esto es correcto?, encontrarmelo me lo encuentra, pero si le meto uno que no existe me devuelve el primero de la tabla pero quiero la posibilidad que me devuelva un valor d eno encontrado.

Se puede hacer con locate?

ya puestos, tengo un datamodule, con el datasource y la tabla, hay alguna manera de no tener que repetir cada vez que quiera acceder a la tabla de ese datamodule sin tener qu eescribir toda la linea hasta llegar a la tabla?

gracias
Responder Con Cita
  #2  
Antiguo 04-06-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
lo he solucionado asi, nose si es ortodoxo, una ayudita plis.

Código Delphi [-]
procedure Tfsegur.entrar1Click(Sender: TObject);
BEGIN
  with datausuarios.tablasusuarios do
    begin
      tusuario.Locate('Usuario',usuario.Text,[]);
        if (tusuario.FieldByName('Usuario').AsString)=usuario.Text then
          begin
          if (tusuario.fieldbyname('Clave').AsString)=contra.text then
            begin
            visualizaentrada;
            tusuario.close;
            end
          else
            begin
              showmessage('La contraseña no es correcta');
              contra.Text:='';
            end
          end
        else
          begin
            showmessage('el usuario no existe');
            usuario.text:=''
          end;
  end;
end;

Alguien me puede decir si esto puede ser correcto?, si se deben hacer asi las cosas?

Última edición por anubis fecha: 04-06-2007 a las 03:45:19.
Responder Con Cita
  #3  
Antiguo 04-06-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Cita:
This function returns False, indicating that a matching record was not found and the cursor is not repositioned.
Código Delphi [-]
If datausuarios.tablasusuarios.Tusuario.locate('Usuario',usuario.Text,[loPartialKey])then
ShowMessage('Encontrado.')
Else
ShowMessage('No encontrado.');

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 04-06-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
gracias marcos, asi por lo menos tengo mas referencias
Responder Con Cita
  #5  
Antiguo 05-06-2007
eudy.net eudy.net is offline
Miembro
 
Registrado: jul 2006
Posts: 29
Poder: 0
eudy.net Va por buen camino
Unhappy Urgente Auxilio .locate En Delphi 7

No entiendo nada de nada de locate osea no se activar el: tlocateoptions por mas que busco nada me sale. Si alguien puede ayudarme y mandarme los codigos de un programa sencillo solo quiero ver donde es que se pone:

Unit
Código Delphi [-]
DB

type
  TLocateOption = (loCaseInsensitive, loPartialKey);
  TLocateOptions = set of TLocateOption;
SE LO AGRADECERIA EN EL ALMA

ATT. EUDYNET

Última edición por marcoszorrilla fecha: 05-06-2007 a las 08:00:34.
Responder Con Cita
  #6  
Antiguo 05-06-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
poco te puedo ayudar, pero lo que me han explicadoaqui en los foros y he entendido es esto:
Código Delphi [-]
table1.locate('Usuario',usuario.Text,[loPartialKey]);
El locate sirve para buscar registros. En este caso, si buscas un usuario que se llama
pepe que esta almacenado en usuario.text, lo que realiza es una busqueda
al primer registro que contenga pepe, de ahi lo de lopartialkey, pero tambien puedes poner
loCaseInsensitiveen vez de lopartialkey.
La primera sirve para que le de igual que este en mayusculas o minusculas y la segunda permite buscar
cadenas de claves parciales, esto es, si quieres buscar pe, te encuentra el primer registro
que contenga la cadena pe.

Como nota adicional fijate en lo que pone marcoszorrilla, que sirve para el caso que lo encuentre o no lo encuentre.

Resumiendo, en el locate puedes poner lo que esta en rojo o locaseinsensitive o no poner nada y dejar los corchetes [].

espero haberte aclarado algo sino te lo aclaro mas hasta donde voy aprendiendo.

un saludo
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
Problema con el Locate de un adotable chetos7 OOP 1 15-01-2007 08:21:12
problema con locate pescriba Conexión con bases de datos 3 18-09-2006 22:19:41
Locate sanrp2004 Varios 3 21-06-2006 20:30:37
Uso del Locate jzk Conexión con bases de datos 8 22-04-2005 13:05:03
Problema con locate Telemaco Conexión con bases de datos 0 19-10-2004 10:04:26


La franja horaria es GMT +2. Ahora son las 16:24:16.


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