Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-07-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 22
Deiv Va por buen camino
Gracias por los ánimos, en verdad no mentía: si soy supernovato puedes leer en este hilo, en el post #9
Me hubiera gustado salir de esta duda, pero si no hay problema, entonces seguiré con mis 2 TADOQueries.
Responder Con Cita
  #2  
Antiguo 27-07-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 22
cHackAll Va por buen camino
Lastimosamente concuerdo con el amigo Caral con lo de "dejarlo pues funciona", pero no por "iniciar" en programación, pues si te metiste a hacerlo es porque puedes; si no porque es importante tener en mente que si quieres volverlo "perfecto", perderás la relación costo - beneficio y acabarás quemando tu cerebro y muchas horas en optimización.

Paradójicamente y al igual que tu me gusta que las cosas queden lo más parecido a perfecto (¿?) posible; asi que si estas dispuesto vamos a analizar las alternativas. Por lo que tengo entendido quieres hacerlo todo simplemente con una sentencia SQL; en tal vaso te dejo la siguiente corrección:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
 ADOQuery1.SQL.Text := 'select nm.prefijo + nm.nom + nm.sufijo + ''  '' + m.prefijo + m.nom + m.sufijo from muchos nm, muchos m where nm.idtipo = ''NM'' and m.idtipo = ''M'' order by nm.prefijo + nm.nom + nm.sufijo + ''  '' + m.prefijo + m.nom + m.sufijo';
 ADOQuery1.Active:= True;
 with ADOQuery1 do
  begin
   First;
   while not EOF do
    begin
     ListBox1.AddItem(Fields.FieldByNumber(1).AsString, nil);
     Next;
    end;
  end;
end;

No dejes de comentarnos como te va!

Edito: Tambien debemos ver cual de las dos alternativas es la más optima. En ESTE caso lo es la última por usar solo un bucle, pero si trabajamos en red debemos analizar qué es lo mas importante, pues con ésta le estamos reduciendo trabajo a las PCs Clientes; con tu solución le aumentamos un poco a las mismas, pero en teoria le reducimos algo al Servidor.

Última edición por cHackAll fecha: 27-07-2007 a las 02:26:59.
Responder Con Cita
  #3  
Antiguo 28-07-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 22
Deiv Va por buen camino
Gracias cHackAll,
Como indique no tengo conexión a un Internet y en este momento estando en un Ciber no tengo acceso a Delphi, probaré tu propuesta, luego les comento además he podido observar que el código sql de tu consejo se ha vuelto un poco mas extenso (en línea), hummmm, veremos.
Saludos
Responder Con Cita
  #4  
Antiguo 29-07-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 22
Deiv Va por buen camino
Cita:
Empezado por cHackAll
No dejes de comentarnos como te va!
Bueno lo he probado, es nuevo para mi eso de las varaiables en SQL, pero en fin he probado tu código y no me muestra nada, en cambio si le cambio el AND por el OR, si me muestra pero no como mi código funciona (¿Probaste mi código con la BD de Access?), muestra los prefijos de los No Metales+Nombre, pero..... nada de los Metales.
No sé donde está la falla......
Responder Con Cita
  #5  
Antiguo 30-07-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 22
cHackAll Va por buen camino
Claro que si probe el código y funciona a la perfección. Me parece que la posible causa es el diseño de la BD, pues yo trabajé a ciagas... (suponiendo los campos)... en todo caso pásame los campos + ejemplos; y lo que se debería visualizar y veremos que sucede en realidad.

PD: Delphi7 + ADO + Access 2003, BD 2000

Saludos
Responder Con Cita
  #6  
Antiguo 30-07-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 22
Deiv Va por buen camino
Hola,
Disculpa si respondo de tiempo en tiempo, lo q sucede me valgo de un Ciber para conectarme a Internet (no os extrañeis)
Los Campos en Access está ahí en el archivo adjunto que puse en el primer post ForADO, el ejemplo completo (hecho en Delphi) lo adjuntaré mas tarde ya que en este momento no lo dispongo.
Responder Con Cita
  #7  
Antiguo 31-07-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 22
Deiv Va por buen camino
Wink

Aquí dejo el código en Delphi+BD en Access,
Haber si le echas una miradita Ok?
Y si comparas con el código que me mencionaste, y le cambias como dije AND por OR, notarás la diferencia.
Archivos Adjuntos
Tipo de Archivo: zip PruebaDelphi.zip (14,3 KB, 5 visitas)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Trabajar Con TAdoTables o TAdoQueries!?? kman Varios 4 29-12-2005 12:16:37


La franja horaria es GMT +2. Ahora son las 17:43:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi