Club Delphi  
    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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-02-2008
jasrgeo jasrgeo is offline
Registrado
 
Registrado: feb 2008
Posts: 2
Poder: 0
jasrgeo Va por buen camino
recuperar datos de una consulta MySql

Hola amigos del foro antes que nada buen dia, soy nuevo en esto de programar en delphi, asi he recurrido a los expertos haber si me pueden orientar un poco.

ya he logrado insertar, borrar y actualizar un registro, pero me ha surgido un granduda en un programita que estoy realizando como practica. por cierto es un agenda.

Este es mi codigo de insersion de registros hasta aqui todo bien

procedure TForm3.btnguardarClick(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Add('INSERT INTO `agenda`.`contactos`(`id_contacto`,`nom_contacto`,`apellidopat_contacto`,`apellidomat_contacto`,`eda d_contacto`,`tel_contacto`,`email_contacto`)VALUES (NULL , '''+cnombre.text+''','''+capaterno.Text+''','''+camaterno.Text+''','''+cedad.Text+''','''+ctelefono. Text+''','''+cemail.Text+''')');
Query1.ExecSQL;
//Borrar las cajas de texto
cnombre.Clear;
capaterno.Clear;
camaterno.Clear;
cedad.Clear;
ctelefono.Clear;
cemail.Clear;
end;


El problema es que se me ocurrio hacer un modulillo de busqueda de contactos, tengo una idea de como hacer la consulta de busqueda que es esta:

procedure TForm3.btnbuscarClick(Sender: TObject);
begin

Query1.Close;
Query1.SQL.Add('SELECT * FROM contactos WHERE `nom_contacto` LIKE '''+cbuscar.Text+'''');
Query1.ExecSQL;

//Lo que no tengo ni idea es como recuperar el registro y mostrarlos en los campos.
los campos son:
cnombre.text
capaterno.text
camaterno.text
ctelefono.text
cemail.text

Query1.Open;
end;

Espero y me este dando a entender lo que quiero es recuperar los datos de la consulta y mostrarlos en los tedit.
Responder Con Cita
  #2  
Antiguo 27-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Hola bienvenido al Club,

Código Delphi [-]
procedure TForm3.btnbuscarClick(Sender: TObject);
begin
  Query1.Close;
  Query1.SQL.Add('SELECT * FROM contactos WHERE nom_contacto LIKE '+QuotedStr(cbuscar.Text+'%'));
  Query1.Open;
  cnombre.text := Query1.Fields[0].AsString;
  capaterno.text := Query1.Fields[1].AsString;
  camaterno.text := Query1.Fields[2].AsString;
  ctelefono.text := Query1.Fields[3].AsString;
  cemail.text := Query1.Fields[4].AsString;
end;

Si los campos están en ese órden. Para un SELECT no necesitas ExecSQL, es Open.

Usa las etiquetas para el código, ves la diferencia?

Salud OS

Edito: Aunque no se si MySQL soporte el LIKE de esa forma, seguro alguien nos dará la respuesta correcta.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney

Última edición por egostar fecha: 27-02-2008 a las 01:29:24.
Responder Con Cita
  #3  
Antiguo 27-02-2008
jasrgeo jasrgeo is offline
Registrado
 
Registrado: feb 2008
Posts: 2
Poder: 0
jasrgeo Va por buen camino
Thumbs up Mil gracias

Gracias por tu ayuda mi estimado egostar, funciono de maravilla el codigo
espero y muy pronto estar solucionando las dudas de los usuario al igual que tu.

Salu2.
Responder Con Cita
  #4  
Antiguo 27-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por jasrgeo Ver Mensaje
Gracias por tu ayuda mi estimado egostar, funciono de maravilla el codigo
espero y muy pronto estar solucionando las dudas de los usuario al igual que tu.

Salu2.
Hola, pues que bien, solo que viendo de nuevo mi post hace falta que limpies el SQL del Query ya que si vuelves a ejecutar el proceso te dará un error.

Aquí el código completo

Código Delphi [-]
procedure TForm3.btnbuscarClick(Sender: TObject);
begin
  Query1.Close;
  Query1.SQL.Clear; //Se limpia para una nueva consulta.
  Query1.SQL.Add('SELECT * FROM contactos WHERE nom_contacto LIKE '+QuotedStr(cbuscar.Text+'%'));
  Query1.Open;
  cnombre.text := Query1.Fields[0].AsString;
  capaterno.text := Query1.Fields[1].AsString;
  camaterno.text := Query1.Fields[2].AsString;
  ctelefono.text := Query1.Fields[3].AsString;
  cemail.text := Query1.Fields[4].AsString;
end;

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
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
Recuperar campos de una consulta schaka SQL 4 27-02-2008 19:13:44
Error recuperar imagen en MySQL desde Firefox axelbb PHP 3 08-06-2007 14:51:53
Consulta a tabla mysql remota y copiar datos en modo local coletaun Varios 1 29-12-2006 14:49:45
recuperar pdf grabado en mysql smendo PHP 0 23-05-2005 10:39:03
Cargar y recuperar imagen en bd MySQL??? burasu MySQL 2 22-08-2004 22:40:18


La franja horaria es GMT +2. Ahora son las 12:27:06.


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