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

Re: Unable to update JOIN'ed recordset with PSQLODBC 08.02.0400 and ADO

From: "Dmitry Samokhin" <sdld(at)mail(dot)ru>
To: pgsql-odbc(at)postgresql(dot)org
Subject: Re: Unable to update JOIN'ed recordset with PSQLODBC 08.02.0400 and ADO
Date: 2007-10-01 09:51:15
Message-ID: fdqftk$160q$1@news.hub.org (view raw or flat)
Thread:
Lists: pgsql-odbc
Release 08.02.0500 is out, but a bug I described in my post two months ago 
still exists. Please look into it and restore the functionality broken since 
08.02.0300, when an opportunity offers.

Regards,
Dmitry


"Dmitry Samokhin" <sdld(at)mail(dot)ru> wrote in message 
news:f8plbo$2j47$1(at)news(dot)hub(dot)org(dot)(dot)(dot)
> In the following environment:
> WinXP SP2 + ADO + MS OLE DB Provider for ODBC drivers + PSQLODBC ANSI 
> 08.02.0400
>
> I'm unable to update a recordset of JOIN'ed tables. The method 
> 'rs("colname") = <new value>' started to fail with 08.02.0400, but it 
> works fine with 08.02.0200. Something wrong with tables and columns 
> metadata ADO gets from the driver, I suppose.
> My test suite included. Please note only columns from table t1 are loaded 
> into the recordset, JOIN is used just for sorting rows.
>
> Test suite:
>
> Server side:
> ------------
>
> CREATE TABLE t1
> (
>  a integer NOT NULL,
>  b integer,
>  x character varying(255),
>  CONSTRAINT pk_t1 PRIMARY KEY (a)
> )
> WITHOUT OIDS;
>
> CREATE TABLE t2
> (
>  b integer NOT NULL,
>  c integer,
>  CONSTRAINT pk_t2 PRIMARY KEY (b)
> )
> WITHOUT OIDS;
>
> INSERT INTO t1 (a, b, x) VALUES (1, 100, 'String 1');
> INSERT INTO t1 (a, b, x) VALUES (2, 200, 'String 2');
>
> INSERT INTO t2 (b, c) VALUES (100, 1000);
> INSERT INTO t2 (b, c) VALUES (200, 2000);
>
> Client code:
> ------------
>
> Sub Test()
>  Dim strSql As String
>  Dim cn As New ADODB.Connection
>  Dim rs As New ADODB.Recordset
>
>  cn.Open _
>    "Provider=MSDASQL;" & _
>    "DRIVER=PostgreSQL ANSI;" & _
>    "SERVER=127.0.0.1;" & _
>    "DATABASE=test;" & _
>    "UID=postgres;" & _
>    "PWD=postgres;" & _
>    "UseServerSidePrepare=1;"
>
>  strSql = "SELECT t1.* FROM t1 INNER JOIN t2 ON t1.b = t2.b ORDER BY t2.c"
>
>  rs.ActiveConnection = cn
>  rs.CursorLocation = adUseClient
>  rs.CursorType = adOpenKeyset
>  rs.LockType = adLockOptimistic
>  rs.Source = strSql
>
>  rs.Open
>
>  MsgBox rs("x")
>  rs("x") = "Modified string"
>  rs.Update
>  MsgBox rs("x")
>
>  rs.Close
> End Sub
>
> Regards,
> Dmitry
>
> 



In response to

Responses

pgsql-odbc by date

Next:From: Hiroshi InoueDate: 2007-10-01 13:58:04
Subject: psqlODBC 08.02.0500 Released
Previous:From: Mija LeeDate: 2007-09-27 15:33:33
Subject: Re: problems accessing utf8 encoded databases

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