Re: operador incorrecto para numeric and float8

From: Raul Breindembach <rbreindembach(at)cantv(dot)net>
To: Eliodoro Michel <Elio_Michel(at)excite(dot)com>
Cc: pgsql-odbc(at)postgresql(dot)org
Subject: Re: operador incorrecto para numeric and float8
Date: 2001-10-31 13:33:12
Message-ID: 3BDFFD98.8070700@cantv.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Hola otra vez:
Gracias por la sugerencia, me funcionò muy bien, aunque tuve que
hacer algunas trampas para conservar la compatibilidad de mi programa
con otras bases de datos a travès de ODBC.
En relación con el nebuloso uso de ODBC solo te puedo decir lo
que sé por experiencia:

ODBC es una interfaz entre la aplicación y el manejador de base
de datos, en este caso PostgreSQL, solo que ODBC tiene que utilizar a su
vez una intefaz almacenada en una biblioteca de enlace dinámico (.DLL)
donde se encuentran los procedimientos y funciones que manejarán la base
de datos, es por eso que la sugerencia que me hiciste funcionó, solo que
cuando lo intento con access no sirve, ni con sqlserver, es algo así
como que PostgreSQL ODBC manejara directamente la base de datos.

APLICACIÓN <======> ODBC <======> PostgreSQL
A
!!
V
PosgreSQL ODBC

Eliodoro Michel wrote:

> Probaste usando la definición explicita para el tipo de variable?
>
> Cn.Execute "Update inventar set exactual = (inventar.exactual::float8 -
> 1.5) where inventar.codigo = '01'"
>
> No estoy seguro si esto lo logre ejecutar VB (a menos que pase la cadena
> directamente al motor de Posgresql sin interpretarlo a través de ODBC) pero
> creo que deberia funcionar.
>
> Yo personalmente para ciertas cosas raras, y para evitar el no saber que
> ocurre en el camino de ODBC-Postgresql preferi usar en alguno casos
> funciones Postgresql que luego pueden ser llamadas en vistas o a tráves de
> triggers.
>
> Si tienes información sobre el nebuloso uso de ODBC, agradeceria saber donde
> puedo ubicar más datos sobre eso.
>
>
> Saludos y suerte
>
> Elio
>
>
> On Mon, 22 Oct 2001 21:45:39 -0400, Raul Breindembach wrote:
>
> Hola a todos.
>
> Estuve ausente durante un par de meses, pero ya vuelvo con todos los
> hierros, y con algún problemita.
>
> He creado una tabla con la siguiente estructura:
>
> Create table inventar
> (
> codigo Varchar(20) primary key,
> dpto Decimal(10) Null,
> descripcio Varchar(100) Null,
> referencia Varchar(20) Null,
> unidad Varchar(10) Null,
> unidxgrupo Decimal(15,2) default 0,
> dgrupo Varchar(10) Null,
> tipo Decimal(10) Null,
> costo1 decimal(15,2) default 0,
> costo2 decimal(15,2) default 0,
> precio1 decimal(15,2) default 0,
> precio2 decimal(15,2) default 0,
> precio3 decimal(15,2) default 0,
> preciop1 decimal(15,2) default 0,
> preciop2 decimal(15,2) default 0,
> exactual Decimal(15,2) default 0,
> examin Decimal(15,2) default 0,
> exmax Decimal(15,2) default 0,
> excento decimal(10) default 0,
> exant Decimal(15,2) default 0,
> pvp1 decimal(15,2) default 0,
> pvp2 decimal(15,2) default 0,
> pvp1g decimal(15,2) default 0,
> pvp2g decimal(15,2) default 0,
> exdeposito decimal(15,2) default 0,
> extienda decimal(15,2) default 0
> );
>
> Tengo un pequeño problema en mi programa, al ejecutar la siguiente
> instrucción:
>
> Cn.Execute "Update inventar set exactual = (inventar.exactual - 1.5) where
> inventar.codigo = '01'"
>
> --------------------------------------------------------------------
> Microsoft Visual Basic
> --------------------------------------------------------------------
> Error '-2147467259 (80004005)' en tiempo de ejecución:
>
> Error while executing the query (non-fatal);
> ERROR: Unable to identify an operator '-' for types 'numeric' and
> 'float8'
>
> you will have to retype this query using an explicit cast
>
> --------------------------------------------------------------------
>
> Lo cual no sucede al ejecutar la que sigue:
>
> Cn.Execute "Update inventar set exactual = (inventar.exactual - 1) where
> inventar.codigo = '01'"
>
> Claramente se nota dónde está el error, lo que no sé es como evitar que
> suceda, tengo la versión de PostgreSQL 7.1.1 y la versión 7.01.00.05 de
> PostgreSQL ODBC
>
> Gracias por adelantado, acepto cualquier sugerencia.
>
>
>
>
>
> _______________________________________________________
> http://inbox.excite.com
>
>
>
>

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Simeo Reig 2001-10-31 15:21:22 Re: operador incorrecto para numeric and float8
Previous Message Vince Vielhaber 2001-10-30 21:42:31 Re: Problems to download ODBC Driver