Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   ??que regresa un query?? (https://www.clubdelphi.com/foros/showthread.php?t=31783)

david duarte 17-05-2006 21:17:04

??que regresa un query??
 
Hola a todos!!!!

he estado investigando y no he encontrado nada hasta el momentos, pero me interesa saber que es lo que regresa un query.
ya que tengo un query y en ese query selecciono algunos campos pero necesito almanecar el resultado en una variable de tipo cadena.

Alguien sabe que tipo de variable es lo que retorna un query??

Lo que alcancé a ver es que es como un tipo cursor o algo asi.
Si este es el caso, alguien tiene la idea de como se maneja??

Gracias por tomarse el tiempo de leer este mensaje!!!!
Saludos!!!!

delphi.com.ar 17-05-2006 21:24:51

La pregunta es muy "abstracta"... En general, cuando hablamos de consultas o querys, hablamos de instrucciones que nos retornarán un set de resultados.
Si te refieres a un TQuery (Clase de la VCL), podríamos decir que podemos utilizar esta clase para acceder a un set de resultados. El set de resultados al igual que las tablas, están conformados por registros y campos (filas y columnas). Y puedes acceder indistintamente a un campo en particular de una fila en particular.

Saludos!

Caro 17-05-2006 22:44:40

si en tu query tienes digamos esta consulta

query.sql.text:='SELECT codigo, nombre FROM clientes';

tu puedes recorrer toda lo lista que devuelve el query y ponerlos en variables de la siguiente manera:

Código Delphi [-]
  
    query.First;
    WHILE not(query.Eof) DO
    begin
        cod:=query.Fields[0].AsString;      
        nom:=query.Fields[1].AsString;
 
        ...... 
        query.Next
    end;

donde cod y nom son variables de tipo cadena

david duarte 18-05-2006 23:06:19

Exactamente, mira tengo una tabla con un campo(de muchos) que es nombre_analisis, folio, que es donde se va a guardar el nombre del analisis, entonces lo que necesito saber y guardarlo en una variable en este caso es el nombre del analisis que tiene el folio x,
p.e.
select disctint nombre_analisis from analisis_extra where folio = 'x'
ya que el resultado de este query va a ser los analisis.
Para los analisis del resultado del query, necesito crear un qrdbtext que necesito para un reporte.

Podria dentro del query, almacenar el(los) nombres del analisis de la siguiente forma

Código Delphi [-]
  select distinct nombre_analisis
  from analisis_extra
  where folio = edit1.text;

  query1.First;
    WHILE not(query1.Eof) DO
    begin
        nom_an:=query.Fields[0].AsString;
        aux_nom := aux_nom + nom_an;
        aux_nom := aux_nom + ',';
        ...... 
        query.Next
    end;

Disculpen mi ignorancia, pero en que parte del codigo va esta parte???
Sorry

Gracias
Saludos!!!!

paty_rlopez 22-05-2006 16:33:49

hola david duarte:

no se exactamente como lo quieres pero si quieres mostrar los resultados en un reporte puedes poner el código ese antes de la línea

Código:

Reporte.Preview


Si lo que quieres es mostrarlo en una banda en especifico lo puedes poner en el evento
BeforePrint de la banda en que se vaya a mostrar y asignarle el valor de la variable de texto a un QRLabel


Espero y sea eso lo que necesitas


Saludos

david duarte 22-05-2006 17:04:53

Gracias por responder!!!

Mira, lo que necesito es lo siguiente:

ejecuto el query anterior y p.e. me regresa "analisis1, analisis2, analisis3, analisis4", lo que necesito es que ese resultado me lo almacene en una variable tipo string, recorrer la cadena y separar el nombre de los analisis hasta que encuentre una coma, posteriormente crear una qrlabel y una qrdbtext con lo siguiente.
variables
texto : TQrLabel;
campo : TQRDBText;
Código Delphi [-]
  campo := TQEDBText.Create(DetailBand1); 
  campo.DataSet := query1;
  query1.Add(SELECT analisis1 from analisis_extra where nombre_analisis = variablex);

pero primero necesito saber si se puede hacer lo anterior?

Muchas gracias por su tiempo
Gracias!!!!
Saludos!!!!


La franja horaria es GMT +2. Ahora son las 02:01:45.

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