Subject RE: [IBO] conversion error from string "2002-02-14".
Author Dion
Hi Helen,

What is the most economical way of getting some small screenshops to you. I
have cut and pasted 3 small images into the message, but the size jumps to
889k. Should I send it?

Regards,
Dion

-----Original Message-----
From: Helen Borrie (TeamIBO) [mailto:helebor@...]
Sent: Friday, February 01, 2002 5:26 PM
To: IBObjects@yahoogroups.com
Subject: RE: [IBO] conversion error from string "2002-02-14".


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



___________________________________________________________________________
IB Objects - direct, complete, custom connectivity to Firebird or InterBase
without the need for BDE, ODBC or any other layer.
___________________________________________________________________________
http://www.ibobjects.com - your IBO community resource for Tech Info papers,
keyword-searchable FAQ, community code contributions and more !

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/


---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.314 / Virus Database: 175 - Release Date: 01/11/2002

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.314 / Virus Database: 175 - Release Date: 01/11/2002