Thread: BUG #4322: Problems with field not updatable

BUG #4322: Problems with field not updatable

From
"Alexandre Caneo"
Date:
The following bug has been logged online:

Bug reference:      4322
Logged by:          Alexandre Caneo
Email address:      alexandre@adtinformatica.com.br
PostgreSQL version: 8.2.6
Operating system:   WIN XP
Description:        Problems with field not updatable
Details:

I'm using Win XP SP2, VB6 and PostgreSql 8.2.6.

When I select the datas with this instruction
"select a.x from a,b where a.z = b.z order by 1"
the program run very well and I can insert, update and delete rows. But,
when I select any column from table b an error occurs when I try to modify
the column value from textbox for an example.
"Binding Collection Error. field not updatable".

String connection
    ls_StrConn = "PROVIDER=MSDASQL.1; DRIVER={PostgreSQL UNICODE};
DATABASE=" & ls_Conexao & "; SERVER=" & ls_Host & "; PORT=" & ls_Servico &
"; UID=" & ls_login & "; PWD=" & ls_Senha & "; ByteaAsLongVarBinary=1;"

Recordset's properties
  mo_Record.CursorType = adOpenDynamic
  mo_Record.LockType = adLockOptimistic

  mo_Record.Open mo_Command

One more thing.
I don't need update the table's b column, just show them.

Any suggestions would be appreciated.
Best regards.
Alexandre.

Re: BUG #4322: Problems with field not updatable

From
Craig Ringer
Date:
Alexandre Caneo wrote:

> When I select the datas with this instruction
> "select a.x from a,b where a.z = b.z order by 1"
> the program run very well and I can insert, update and delete rows. But,
> when I select any column from table b an error occurs when I try to modify
> the column value from textbox for an example.
> "Binding Collection Error. field not updatable".

Maybe you should try your query from psql, and see if it works fine
there. If it does, then you know the problem is in your data access
driver or application.

At a guess, I'd say you'll be having issues with data type support in
the data access driver. You are using a prehistoric programming
language, which won't be helping.

You should post your query (if it's generated by your app at runtime,
get it by enabling query logging in the database and fishing it out of
the PostgreSQL log) and the schema definition of the problem table as
obtained with psql's \d command.

--
Craig Ringer

Re: BUG #4322: Problems with field not updatable

From
Magnus Hagander
Date:
Alexandre Caneo wrote:
> The following bug has been logged online:
>
> Bug reference:      4322
> Logged by:          Alexandre Caneo
> Email address:      alexandre@adtinformatica.com.br
> PostgreSQL version: 8.2.6
> Operating system:   WIN XP
> Description:        Problems with field not updatable
> Details:
>
> I'm using Win XP SP2, VB6 and PostgreSql 8.2.6.
>
> When I select the datas with this instruction
> "select a.x from a,b where a.z = b.z order by 1"
> the program run very well and I can insert, update and delete rows. But,
> when I select any column from table b an error occurs when I try to modify
> the column value from textbox for an example.
> "Binding Collection Error. field not updatable".
>
> String connection
>     ls_StrConn = "PROVIDER=MSDASQL.1; DRIVER={PostgreSQL UNICODE};
> DATABASE=" & ls_Conexao & "; SERVER=" & ls_Host & "; PORT=" & ls_Servico &
> "; UID=" & ls_login & "; PWD=" & ls_Senha & "; ByteaAsLongVarBinary=1;"
>
> Recordset's properties
>   mo_Record.CursorType = adOpenDynamic
>   mo_Record.LockType = adLockOptimistic
>
>   mo_Record.Open mo_Command
>
> One more thing.
> I don't need update the table's b column, just show them.

If you don't need updating, you should open your cursor as either
adOpenStatic or adOpenForwardOnly. Using adOpenDynamic explicitly
requests the ability to do updates/inserts/deletes through the cursor.

//Magnus

RES: BUG #4322: Problems with field not updatable

From
"Alexandre Caneo"
Date:
Magnus,

I've tried open cursor with adOpenStatic or adOpenForwardOnly,  but it didn=
't work.

Do you have others suggestions?

Tks.
Alexandre.


-----Mensagem original-----
De: Magnus Hagander [mailto:magnus@hagander.net]=20
Enviada em: segunda-feira, 28 de julho de 2008 08:34
Para: Alexandre Caneo
Cc: pgsql-bugs@postgresql.org
Assunto: Re: [BUGS] BUG #4322: Problems with field not updatable

Alexandre Caneo wrote:
> The following bug has been logged online:
>=20
> Bug reference:      4322
> Logged by:          Alexandre Caneo
> Email address:      alexandre@adtinformatica.com.br
> PostgreSQL version: 8.2.6
> Operating system:   WIN XP
> Description:        Problems with field not updatable
> Details:=20
>=20
> I'm using Win XP SP2, VB6 and PostgreSql 8.2.6.
>=20
> When I select the datas with this instruction
> "select a.x from a,b where a.z =3D b.z order by 1"
> the program run very well and I can insert, update and delete rows. But,
> when I select any column from table b an error occurs when I try to modify
> the column value from textbox for an example.
> "Binding Collection Error. field not updatable".
>=20
> String connection
>     ls_StrConn =3D "PROVIDER=3DMSDASQL.1; DRIVER=3D{PostgreSQL UNICODE};
> DATABASE=3D" & ls_Conexao & "; SERVER=3D" & ls_Host & "; PORT=3D" & ls_Se=
rvico &
> "; UID=3D" & ls_login & "; PWD=3D" & ls_Senha & "; ByteaAsLongVarBinary=
=3D1;"
>=20
> Recordset's properties
>   mo_Record.CursorType =3D adOpenDynamic
>   mo_Record.LockType =3D adLockOptimistic=20=20
>=20=20=20=20=20
>   mo_Record.Open mo_Command
>=20
> One more thing.
> I don't need update the table's b column, just show them.

If you don't need updating, you should open your cursor as either
adOpenStatic or adOpenForwardOnly. Using adOpenDynamic explicitly
requests the ability to do updates/inserts/deletes through the cursor.

//Magnus

No virus found in this incoming message.
Checked by AVG.=20
Version: 7.5.441 / Virus Database: 270.5.6/1523 - Release Date: 25/7/2008 0=
0:00
=20

No virus found in this outgoing message.
Checked by AVG.=20
Version: 7.5.441 / Virus Database: 270.5.6/1523 - Release Date: 25/7/2008 0=
0:00
=20

Re: RES: BUG #4322: Problems with field not updatable

From
Magnus Hagander
Date:
Can't say that I do. I think you need to get the ODBC folks to look at
it, the problem appears to be there rather than in the server product.

//Magnus

Alexandre Caneo wrote:
> Magnus,
>
> I've tried open cursor with adOpenStatic or adOpenForwardOnly,  but it didn't work.
>
> Do you have others suggestions?
>
> Tks.
> Alexandre.
>
>
> -----Mensagem original-----
> De: Magnus Hagander [mailto:magnus@hagander.net]
> Enviada em: segunda-feira, 28 de julho de 2008 08:34
> Para: Alexandre Caneo
> Cc: pgsql-bugs@postgresql.org
> Assunto: Re: [BUGS] BUG #4322: Problems with field not updatable
>
> Alexandre Caneo wrote:
>> The following bug has been logged online:
>>
>> Bug reference:      4322
>> Logged by:          Alexandre Caneo
>> Email address:      alexandre@adtinformatica.com.br
>> PostgreSQL version: 8.2.6
>> Operating system:   WIN XP
>> Description:        Problems with field not updatable
>> Details:
>>
>> I'm using Win XP SP2, VB6 and PostgreSql 8.2.6.
>>
>> When I select the datas with this instruction
>> "select a.x from a,b where a.z = b.z order by 1"
>> the program run very well and I can insert, update and delete rows. But,
>> when I select any column from table b an error occurs when I try to modify
>> the column value from textbox for an example.
>> "Binding Collection Error. field not updatable".
>>
>> String connection
>>     ls_StrConn = "PROVIDER=MSDASQL.1; DRIVER={PostgreSQL UNICODE};
>> DATABASE=" & ls_Conexao & "; SERVER=" & ls_Host & "; PORT=" & ls_Servico &
>> "; UID=" & ls_login & "; PWD=" & ls_Senha & "; ByteaAsLongVarBinary=1;"
>>
>> Recordset's properties
>>   mo_Record.CursorType = adOpenDynamic
>>   mo_Record.LockType = adLockOptimistic
>>
>>   mo_Record.Open mo_Command
>>
>> One more thing.
>> I don't need update the table's b column, just show them.
>
> If you don't need updating, you should open your cursor as either
> adOpenStatic or adOpenForwardOnly. Using adOpenDynamic explicitly
> requests the ability to do updates/inserts/deletes through the cursor.
>
> //Magnus
>
> No virus found in this incoming message.
> Checked by AVG.
> Version: 7.5.441 / Virus Database: 270.5.6/1523 - Release Date: 25/7/2008 00:00
>
>
> No virus found in this outgoing message.
> Checked by AVG.
> Version: 7.5.441 / Virus Database: 270.5.6/1523 - Release Date: 25/7/2008 00:00
>