Subject RE: [IBO] conversion error from string "2002-02-14".
Author Helen Borrie (TeamIBO)
At 06:44 PM 01-02-02 -0800, you wrote:
>Hi All/Helen,
>
>>What version of the database are you using?
>WI-T6.2.679 FireBird Release Candidate 2

WHAT DIALECT ??????????????????????????


>>What are you using to do the insert?
>
>The SQL for the TIB_Query:-
>
>SELECT COVEREDMEM.RELATIVETYPEID
> ,COVEREDMEM.PERSONID
> ,COVEREDMEM.FUNDID
> ,COVEREDMEM.OPTIONID
> ,COVEREDMEM.MEMBERID
> ,COVEREDMEM.STATUSID
>
> ,PERSON.PERSONID
> ,PERSON.FIRSTNAME
> ,PERSON.SURNAME
> ,PERSON.DOB
> ,PERSON.TITLEID
> ,PERSON.INITIALS
> ,PERSON.HOMETEL
> ,PERSON.WORKTEL
> ,PERSON.EMAIL
> ,PERSON.ID
> ,PERSON.UNIONID
> ,PERSON.GROUPID
>
> ,(SELECT TITLE
> FROM TITLE
> WHERE TITLE.TITLEID = PERSON.TITLEID)
> AS TITLENAME
>
> ,(SELECT NAME
> FROM RELATIVETYPE
> WHERE RELATIVETYPE.RELATIVETYPEID =
> COVEREDMEM.RELATIVETYPEID)
> AS RELNAME
>
> ,(SELECT MEMSTATUSNAME
> FROM MEMSTATUS
> WHERE MEMSTATUS.MEMSTATUSID =
> COVEREDMEM.STATUSID)
> AS STATUSNAME
>
> ,(SELECT NAME
> FROM UNIONS
> WHERE UNIONS.UNIONID = PERSON.UNIONID)
> AS UNIONNAME
>
> ,(SELECT GROUPNAME
> FROM GROUPS
> WHERE GROUPS.GROUPID = PERSON.GROUPID)
> AS GROUP_NAME
>
> FROM COVEREDMEM
>
> JOIN PERSON
> ON (PERSON.PERSONID = COVEREDMEM.PERSONID)
>
> WHERE (COVEREDMEM.MEMBERID = :MEMBERID)
> AND (COVEREDMEM.FUNDID = :FUNDID)
> AND (COVEREDMEM.OPTIONID = :OPTIONID)

First question - did the SQL below ever work? Does your stored procedure really have inputs declared like "Person.ID" ??


>The SP in the UpdateSQL of the TIB_Query:-
>Execute Procedure Insert_CovMem( :CoveredMem.PersonId
> , :Person.ID
> , :Person.INITIALS
> , :Person.FIRSTNAME
> , :Person.SURNAME
> , :Person.TITLEID
> , :Person.HOMETEL
> , :Person.WORKTEL
> , :Person.EMAIL
> , :Person.UNIONID
> , :Person.GROUPID
> , :Person.DOB
> , :CoveredMem.MEMBERID
> , :CoveredMem.PERSONID
> , :CoveredMem.RELATIVETYPEID
> , :CoveredMem.OPTIONID
> , :CoveredMem.FUNDID
> , :CoveredMem.STATUSID )
>
>The Update works fine, I don't get the error at all. I have another
>insert(exactly the same as above, conseptually that is), but with no date,
>and it works.

So WHICH is the DATE column? (assuming DOB...) Can you show the declaration of the input as it is in your stored procedure?

In fact, can you post the source code for the stored procedure? (Don't try to send attachments, it is disabled in the list mail setup).

>>What EXACT data type is the database column to which the value is being
>pushed?
>DATE

Is it declared as DATE in the input arguments of the SP?


>>Do you have any monitor output you can show us?
>Please see attached - sorry, this is the best method I know to get the
>visuals to you without wasting your time.

No good posting attachments, see above.

What I'm trying to arrive at, is your ISO date format being input as a string and being treated as a string by IBO? In that case, I don't think IBO is going to the right place to be capable of extracting a DATE type from that string. But we still don't know enough to guess that...

What control are you using to display the DOB column?

If it is passing through to the API as a Date Literal, let's see THAT LINE as the SQL Monitor sees it. if you are using Dialect 3, you can't pass a date literal directly in SQL any more, you have to pass it as CAST ('2002-02-14' AS DATE). Let's see what is actually being pushed through...

and the other reason for wanting to scan the monitor output - so far I can't tell what is throwing this error. Is it happening at Prepare time? (= a type mismatch between the declared input argument and the value being input to it) or is it being thrown inside the SP, when it goes to do the INSERT statement.

The place we could possibly get to, would be to alter the SP so that it accepts a string instead of a DATE type (if a string is what is being passed) and then, in the procedure itself, cast the string to a DATE before the INSERT... But we are STILL short of essential info, Dion.

regards,
Helen Borrie (TeamIBO Support)

** Please don't email your support questions privately **
Ask on the list and everyone benefits
Don't forget the IB Objects online FAQ - link from any page at www.ibobjects.com