Skip site navigation (1) Skip section navigation (2)

Re: Ok... I got most of it working but . . .

From: Bob Caryl <bob(at)fis-cal(dot)com>
To: Greg Campbell <greg(dot)campbell(at)us(dot)michelin(dot)com>
Cc: pgsql-odbc(at)postgresql(dot)org
Subject: Re: Ok... I got most of it working but . . .
Date: 2005-07-26 18:05:53
Message-ID: 42E67B81.4040501@fis-cal.com (view raw or flat)
Thread:
Lists: pgsql-odbc
Greg Campbell wrote:

> Is that supposed to be an SQL string, like
> "INSERT INTO my_table (field1, field2, field3, field3) VALUES 
> (0.00,0.00,0.00)"
>
> parentheis -- not curly braces?
>
>
>
> Bob Caryl wrote:
>
>> I am using arrays of double precision numbers in certain columns in 
>> my table.  When I format the CString object (analogous to 
>> Glib::ustring objects in the linux world) to update this column it 
>> looks like this:
>>
>>    
>> "{0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00}" 
>>
>>
>> However, when the odbc driver tries to update the new added record, I 
>> get the following error message server side (and at my application):
>>
>>    ERROR:  invalid input syntax for type double precision: 
>> "{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}"
>>
>> Evidently,  the odbc driver is deciding to optimize my query 
>> perhaps?  What am I doing wrong this time?
>>
>> Thanks,
>>
>> Bob Caryl
>>
>>
>>
>> ---------------------------(end of broadcast)---------------------------
>> TIP 9: In versions below 8.0, the planner will ignore your desire to
>>       choose an index scan if your joining column's datatypes do not
>>       match
>
To quote the documentation on the use of arrays in postgresql tables:

"To INSERT values into an array, you enclose all the array elements in 
single quotes and braces ({}) and separate multipl elements with a comma."

Hence, if I have an array of double precision numbers called 
misctendamt, and I wanted to insert 16 zero values into that array the 
INSERT statement would look like this:

"INSERT INTO my_table (misctendamt) VALUES 
'{0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00}'" 


Unfortunately when using a derived MFC CRecordset object, I do not 
actually write queries.  I have to use class members of my derived 
CRecordset class that are actually variables corresponding to the 
columns of my table.  So, for the array of double precision numbers, I 
populate the CString variable with the 
"{0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00}" 
data, and then the odbc driver is apparently optimizing it to read 
"{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}"  and it is that the postgresql 
server is choking on.  The server wants to see those decimal points!

Bob Caryl


In response to

pgsql-odbc by date

Next:From: agnewtjDate: 2005-07-26 19:29:29
Subject: Lowercase folding - simple patch?
Previous:From: Greg CampbellDate: 2005-07-26 17:42:51
Subject: Re: Ok... I got most of it working but . . .

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group