From: B. S. <sc...@de...> - 2002-06-21 16:19:27
|
Hi, I'm sorry, but I can't reproduce this behaviour. By the way: the are is real DECIMAL-type in FireBird. It is internally converted to NUMERIC or DOUBLE (and also shown as this). maybe you can tell me step by step what you did. I remember that I saw this kind of error also with the 5.6-odbc-driver, that came with the first release for Interbase 6.0. Maybe this is a FoxPro-specific problem (maybe not definitively) B. Schulte > > Hello: > > > In visual foxpro when you execute a Statement with sqlexec like this: > sqlexec( gnHConn,"SELECT SUM(field) FROM TABLE", "CURSOR") > if the field in the sum is a DECIMAL field in Firebird, Visual Foxpro > converts it in Character because the driver returns JDBC_BIGINT as > column type i have a little fix for this issue and return JDBC_DECIMAL > instead of SQL_BIGINT for DECIMAL FIELDS( i ´m very pleased if any can > confirm to me that this fix is correct ): > > > Sqlda.h: > > Change: > static int getSqlType (int iscType, int subType); > static const char* getSqlTypeName (int iscType, int subType); > to : > > static int getSqlType (int iscType, int subType, int sqlScale); > static const char* getSqlTypeName (int iscType, int subType, int > sqlScale); > > |