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
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


0