Delphi - Consulta SQL

 
Vista:

Consulta SQL

Publicado por Guido (18 intervenciones) el 16/02/2006 13:00:18
Hola a todos, mi pregunta es la siguiente:

Tengo una tabla PRODUCTO con los siguientes campos. (La base de datos esta en access)

cod_producto (clave) (integer)
descripcion (texto)
precio_venta (moneda)

Si yo realizo una consulta mediante sql y vuelco los resultados a un dbgrid. Los datos aparecen correctamente.
Ahora si yo realizo una consulta como esta

select precio_venta as :prec_ven from producto
where cod_producto=:cod_prod;

donde cod_prod esta definido como parametro de entrada de tipo integer y prec_ven esta definido como parametro de salida de tipo float;

En el codigo DELPHI tengo el siguiente codigo:


............
query1.parambyname('cod_prod').asinteger:=cod_prod;.
query1.active:=true;
label1.caption:=floattostr(query1.params[0].asfloat); //(params 0 es prec_ven)
......

El label me muestra como resultado 0. siendo que SI debe traer un valor, he probado la consulta en access y me da el resultado correcto. ¿A que se debe esto?


Si yo realizo la busqueda de cualquiera otro atributo de la tabla y lo defino como parametro de salida el resultado me lo muestra correctamente. Parece que hubiera conflicto con el atributo que en delphi lo defino de tipo float y en la tabla en access es de tipo moneda. Al ingresarse se guarda bien, pero al buscarlo no me lo devuelve. Si como dije antes en un listado en un dbgrid.
Espero alguien me pueda ayudar. Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta SQL

Publicado por BigLuis (713 intervenciones) el 16/02/2006 21:12:02
¿Porque no directamente extraes el valor de precio_venta y pasas< de parametrtos de salida que son mas adecuados, creo yo, para procedimientos almacenados en las bds
select precio_venta from producto
where cod_producto=:cod_prod;
query1.parambyname('cod_prod').asinteger:=cod_prod;.
query1.active:=true;
label1.caption:=floattostr(query1.fieldbyname('cod_producto').value);
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar