Subject | Re: [IBO] Column does not belong to referenced table - Bug report |
---|---|
Author | omar l m rosa |
Post date | 2007-02-07T12:32:30Z |
Sorry if I donĀ“t became to understand;
The problem is: Need I alter all sql sentences in my application???
The problem is "column uknown" in a correct sql sentence! (runnning at least 2 years with old IBO version)
The problem is the sentence created by the component iboquery in editsql: UPD TE SET WHERE RDB$DB_KEY = :DB_KEY
The problem is the sentence created by the component iboquery in insertsql: INSER) INTO (VALUES )
By!
omar
The problem is: Need I alter all sql sentences in my application???
The problem is "column uknown" in a correct sql sentence! (runnning at least 2 years with old IBO version)
The problem is the sentence created by the component iboquery in editsql: UPD TE SET WHERE RDB$DB_KEY = :DB_KEY
The problem is the sentence created by the component iboquery in insertsql: INSER) INTO (VALUES )
By!
omar
----- Original Message -----
From: Helen Borrie
To: IBObjects@yahoogroups.com
Sent: Tuesday, February 06, 2007 7:42 PM
Subject: Re: [IBO] Column does not belong to referenced table - Bug report
At 07:26 AM 7/02/2007, you wrote:
>I use IBO4.5hi and when upgraded firebird to 2.0 I had some trobles.
>I downloaded IBO 4.7 beta 15 and new problems found:
>
>The errors messages:
>============================================
>ISC ERROR MESSAGE:
>Dynamic SQL Error
>SQL error code = -206
>Column unknown
>FOLHA.PK_FOLHA
>At line 2, column 13
>
>STATEMENT:
>TIB_BindingCursor: "<TApplication>.F_WKF_VS.F_Atu_Fun.IBOQueryFolha.I
>BOqrIBOQueryFolha.<TIB_BindingCursor>."
>=============================================
>
>When I run a iboquery.refresh, after a storedproc call.
>
>The sql sentence:
>=============================================
>select f.*
> from folha f
> where f.pk_funcionarios = :pk_funcionarios and
> f.mes_referencia = :mes_referencia and
> exists(select pk_tb_fpg_cod
> from tb_fpg_cod
> where vencim_desc in (4,7) and
> pk_tb_fpg_cod = f.pk_tb_fpg_cod)
The exception is coming because this is illegal syntax in Firebird
2. The "bug" is your bug. You had better study the Fb2 release
notes carefully as it is likely to impact a lot of your SQL statements.
>=============================================
>
>In IBO Query Editor if I try to create the updateSQL estatements:
>============================================
>EditSQL:
>----------------------------
>UPD TE SET
>WHERE
>RDB$DB_KEY = :DB_KEY
Garbage in, garbage out.
>insertSQL:
>---------------------------
>INSER) INTO (
>VALUES )
Ditto.
>DeleteSQL:
>---------------------------
>DELETE FROM
>WHERE
>RDB$DB_KEY = :DB_KEY
>---------------------------
Ditto.
The generated SQL will be garbage if the SELECT statement is
garbage. But even when you correct your SQL, you must always provide
valid KeyLinks for joined sets.
>If I change the SQL statement to:
>===================================
>select *
> from folha
> where pk_funcionarios = :pk_funcionarios and
> mes_referencia = :mes_referencia and
> exists(select pk_tb_fpg_cod
> from tb_fpg_cod
> where vencim_desc in (4,7) and
> pk_tb_fpg_cod = folha.pk_tb_fpg_cod)
>--------------------------------------------
>I did: Removed "f" alias from sql sentence and putted "folha." in
>where clause of sql sentence inside "exists")
>
>Then, I try to create the updateSQL again, and everything is OK!
>=====================================
>EditSQL:
>--------------------
>UPDATE FOLHA SET
> PK_FOLHA = :PK_FOLHA, /*PK*/
> PK_FUNCIONARIOS = :PK_FUNCIONARIOS,
> MES_REFERENCIA = :MES_REFERENCIA,
> PK_HISTORICOS = :PK_HISTORICOS,
> PK_TB_FPG_COD = :PK_TB_FPG_COD,
> QUANTIDADE = :QUANTIDADE,
> VALOR = :VALOR,
> HORAS = :HORAS,
> AT_DATA = :AT_DATA,
> DIA = :DIA,
> PK_FPG_FOLHA = :PK_FPG_FOLHA,
> WBASE = :WBASE,
> WQTD = :WQTD,
> WCOEF = :WCOEF,
> WVALOR = :WVALOR
>WHERE
> PK_FOLHA = :OLD_PK_FOLHA
>
>InsertSQL:
>--------------------------------
>INSERT INTO FOLHA(
> PK_FOLHA, /*PK*/
> PK_FUNCIONARIOS,
> MES_REFERENCIA,
> PK_HISTORICOS,
> PK_TB_FPG_COD,
> QUANTIDADE,
> VALOR,
> HORAS,
> AT_DATA,
> DIA,
> PK_FPG_FOLHA,
> WBASE,
> WQTD,
> WCOEF,
> WVALOR)
>VALUES (
> :PK_FOLHA,
> :PK_FUNCIONARIOS,
> :MES_REFERENCIA,
> :PK_HISTORICOS,
> :PK_TB_FPG_COD,
> :QUANTIDADE,
> :VALOR,
> :HORAS,
> :AT_DATA,
> :DIA,
> :PK_FPG_FOLHA,
> :WBASE,
> :WQTD,
> :WCOEF,
> :WVALOR)
>
>DeleteSQL:
>--------------------------------
>DELETE FROM FOLHA
>WHERE
> PK_FOLHA = :OLD_PK_FOLHA
>
>==================================================
And your problem is ????
Helen
[Non-text portions of this message have been removed]