Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   obtener el valor de un campo (Tquery) (https://www.clubdelphi.com/foros/showthread.php?t=20195)

Yoli 08-04-2005 05:08:11

obtener el valor de un campo (Tquery)
 
Hola a todos. Estoy haciendo un maestro/detalle, para esto tengo 2 tablas(COTIZACION Y COTIZACIOND), mi problema es que estoy tratando de obtener el valor de una campo por medio de un Tquery, pero al hacerlo me dice que el valor es 0, aun cuando el Tquery.Recordcount es > 0, y la verdad no comprendo porque, ya que los valores del maestro(COTIZACION), los he guardado previamente.

Tengo un Tquery con una sentencia SQL:
Select ID_COTIZACION From COTIZACION

Y he utilizado varios codigos para obtener el valor pero me dan el mismo resultado. Los codigos que utilice son los siguientes:

1.-

procedure TFrmTablas.TCotizacionDBeforePost(DataSet: TDataSet);
var
kk:Integer;
begin
FrmCotizacion.QConsulta.Close;
FrmCotizacion.QConsulta.Active:=True;

if FrmCotizacion.QConsulta.RecordCount > 0 then
kk:=FrmCotizacion.QConsulta['ID_COTIZACION']

end;

2.-

procedure TFrmTablas.TCotizacionDBeforePost(DataSet: TDataSet);

begin
TCotizacionDID_COTIZACION.AsInteger:=TCotizacionID_COTIZACION.AsInteger;

end;

Estos 2 codigos que utilice me dicen que el valor del campo ID_COTIZACION de la tabla cotizacion es 0.

Para esta aplicacion estoy utilizando delphi 6 y access. Bueno espero haberme explicado. Agradesco su ayuda. Saludos y gracias de antemano.

marcoszorrilla 08-04-2005 07:13:06

Si el campo es persistente:
Código Delphi [-]
                   kk:=FrmCotizacion.QConsultaID_COTIZACION.Value;

Sino:
Código Delphi [-]
                    kk:=FrmCotizacion.QConsulta.Fields[1].AsString

Donde he puesto uno es el número que ocupa el campo en la consulta teniendo en cuenta que el primero es 0, y donde puse AsString, puede ser AsDateTime, AsDouble, AsInteger....

Un Saludo.

lucasarts_18 08-04-2005 20:18:29

Hola marcoszorrilla:

A que le llamas campo persistente ?

Saludos
Aaron.

Yoli 08-04-2005 20:23:30

Gracias marcoszorrilla la 2 opcion me funciono a la perfeccion. Pero tambien tengo la duda sobre que es un campo persistente?. Saludos

marcoszorrilla 08-04-2005 21:44:09

Si un Ttable o Tquery haces doble clic y seleccionas la opción añadir todos los campos o los que creas convenientes, a eso se le llama campos persistentes, tienes la ventaja de saber de antemano su situación y nombre y además les puedes formatear en tiempo de diseño.

Un Saludo.

Alfredo 08-04-2005 22:07:05

Otra forma...
 
Ademas del metodo descrito por Marcos tambien en posible asi:

Código:

kk := FrmCotizacion.TTablaconsulta.FielByName('Nombre_del_campo').AsString;
Para ampliar el abanico... ;)


La franja horaria es GMT +2. Ahora son las 19:08:53.

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