Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-04-2014
Zucra Zucra is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 19
Poder: 0
Zucra Va por buen camino
Ayuda con Consulta Max (ID)

Hola gente, ante nada disculpas si este post no iba en esta seccion del foro, no sabia donde ponerla.

Bueno mi consulta es la siguiente...
Tengo un TIBQuery (maxprodcuto) que hace la siguiente consulta:
Select Max (ID)+1 from Producto

Quisiera saber como hacer para asignar a una variable el resultado de la consulta de ese TIBQuery.

Ejemplo, si el Max (Id) de la tabla producto es 100. Quiero asignar ese 100 a una variable integer.

seria algo asi?

Max:= maxproducto.Fields[0].Asinteger;
Responder Con Cita
  #2  
Antiguo 24-04-2014
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No entiendo mucho, pero, ¿podría ser algo así?

Código:
SELECT MAX(ID)+1 AS MiCampo FROM Producto
Código Delphi [-]
Max := maxproducto.Fields[0].AsInteger;

// O tal vez...
Max := maxproducto.Fields['MiCampo'].AsInteger;

Ya digo que seguramente no sea, pero, igual suena la flauta.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 24-04-2014
Zucra Zucra is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 19
Poder: 0
Zucra Va por buen camino
Gracias por tu respuesta. Algo asi es lo que quiero hacer, pero de esa forma no funciona =(
Responder Con Cita
  #4  
Antiguo 24-04-2014
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Zucra Ver Mensaje
Gracias por tu respuesta. Algo asi es lo que quiero hacer, pero de esa forma no funciona =(
¡Lo intenté! Pero no te preocupes: algún compañero podrá echarte una mano. Ten un poco de paciencia.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 24-04-2014
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.

Es que no andan muy lejos

Tres formas de acceder al campo:
Código Delphi [-]
var
  Max1,Max2,Max3: Integer;
begin
  IBQuery1.Close;
  IBQuery1.SQL.Text:= 'SELECT MAX(ID) AS MAX_ID FROM PRODUCTOS';
  IBQuery1.Open;
  Max1:= IBQuery1.FieldByName('MAX_ID').AsInteger; // (1)
  Max2:= IBQuery1.Fields[0].AsInteger;             // (2)
  Max3:= IBQuery1.FieldValues['MAX_ID'];           // (3)
  with ListBox1.Items do
  begin
    Add(IntToStr(Max1));
    Add(IntToStr(Max2));
    Add(IntToStr(Max3));
  end;
  IBQuery1.Close;
end;
(1), (2) y (3) devuelven el mismo resultado.

Si no creas los campos persistentes que es el modo mas rápido de acceso, te recomiendo usar la forma (1).
La (2), además de ser muy confusa, basta un cambio en la organización de las columnas y ¡ Pif ! lo que eran pollos se vuelven sandías , la forma (3) es la mas lenta de acceder al valor del campo.

Saludos
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 24-04-2014 a las 01:07:49.
Responder Con Cita
  #6  
Antiguo 24-04-2014
Zucra Zucra is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 19
Poder: 0
Zucra Va por buen camino
Muchas gracias ecfisa! Me vino al pelo, funciona de maravillas.
Responder Con Cita
  #7  
Antiguo 24-04-2014
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
¡Ahora lo cogí!

Gracias ecfisa.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #8  
Antiguo 24-04-2014
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
De nada Zucra, me alegra haberte sido útil.

Me olvide de comentarte que FieldValues es la propiedad vectorial por defecto de la clase TDataSet, por lo que se podría haber omitido quedando:
Código Delphi [-]
   ...
   Max3:= IBQuery1['ID'];
   ...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 24-04-2014
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
Cita:
Empezado por dec Ver Mensaje
¡Ahora lo cogí!

Gracias ecfisa.
¿ Lo de pollos por sandías ?

Una vez me paso algo similar, pero (por mi gran suerte) eran de tipos diferentes. Si no, hubiera renegado un buén rato...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #10  
Antiguo 24-04-2014
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

He cogido las sandías ecfisa. Pero me extrañaba que mi "solución" no funcionase, hasta que he visto que la consulta SQL no es exactamente la misma, así que si no me equivoco la primera estaba mal y era por eso por lo que fallaba el asunto.
__________________
David Esperalta
www.decsoftutils.com
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
ayuda con consulta con ado y SQL frholguin SQL 11 23-04-2010 23:13:43
Ayuda con consulta SQL.... Jose Roman SQL 0 26-02-2009 14:51:38
Ayuda con consulta SQL n03l SQL 4 18-04-2007 22:03:40
Ayuda con consulta!! PINO72 Firebird e Interbase 1 17-10-2004 04:54:48
Ayuda con una consulta sql marcelofabiani SQL 4 27-07-2003 23:30:13


La franja horaria es GMT +2. Ahora son las 14:20:28.


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