PDA

Ver la Versión Completa : Donde se almacena el valor MAX


ilichhernandez
16-08-2007, 22:29:31
Hola estimados compañeros de labores, tengo una consulta ........ si quisiera saber el valor maximo de un campo de una tabla debo ocupar
Código SQL [-] (http://www.clubdelphi.com/foros/#)SELECT MAX(campo)
from TABLA

entonces el valor de MAX donde se almacena??, para poder ocuparlo en mi aplicacion como tendria que trabajarlo??.... he revisado el foro pero no he encontrado donde puedan aclarar esta duda.... bueno sin mas, muchas gracias a los que se toman la molestia de leer esto.

Saludos a to2.

eduarcol
16-08-2007, 22:35:28
Hola bienvenido a los foros te recomiendo la lectura de la guia de estilo para que mejores la calidad de la pregunta

Por la poca informacion que das lo que te puedo decir es qe MAX es una funcion SQL que se utiliza para obtener el valor maximo de una columna en la tabla

y si lo que quieres saber en donde se ejecuta, en la propiedad sql del dataset que manejes.

Ahora para mejorar mi ayuda necesito que mejores la pregunta, que motor utilizas que componentes y que delphi?

D-MO
16-08-2007, 22:35:28
Talvez te sirva haciendo lo siguiente:
SELECT MAX(campo) as campomax from TABLA

donde campomax tendrá el resultado de la función.

Saludos.

ilichhernandez
16-08-2007, 22:40:14
por lo que entiendo en este ultimo codigo , el valor MAX se guarda en campomax, pero como leo desde delphi ese valor........ sera como parametro???

delphi.com.ar
16-08-2007, 22:43:07
Por el tipo de pregunta supongo que queres saber en que campo de un TDataSet retornará ese valor, ya que la función no tiene un nombre de campo. En este caso puedes hacer dos cosas:


Definir un alias para el resultado de la función, y acceder por el nombre del campo:
SELECT MAX(CAMPO) AS MIRESULTADO...
O acceder por el índice del campo:

{ Esta es una función genérica que retorna el valor del primer campo del primer registro de una consulta}
function TdmMain.DBValue(ASql, ADefault: string): string;
var
qryData: TADOQuery;
begin
qryData := TADOQuery.Create(Self);
try
qryData.Connection := ConnMain;
qryData.SQL.Text := ASql;
qryData.Open;
if qryData.IsEmpty Then
Result := ADefault
else
Result := qryData.Fields[0].AsString;

qryData.Close;
finally
qryData.Free;
end;
end;


Saludos!

ilichhernandez
16-08-2007, 23:18:05
Ahora si me quedo claro esto, muchas gracias a todos .... muy agradecido.......