Han,
In order for the updateXXX to work it needs a primary key. This is in
the spec. Furthermore, under the covers this is what is going on.
when you call updateXXX, the driver does
update foo set column=newval where primarykey=val
It needs the primary key to be able to figure out which row to update.
Dave
On Mon, 2002-12-02 at 03:43, Han wrote:
> pgsql-jdbc
>
> A simplest test failed when I use postgresql and pgsql-jdbc driver which were build from postgresql7.3b5 source
code.
> The test code is:
> ..
> --
> Dave Cramer <davec@fastcrypt.com>
> Cramer Consulting
> 14 try{
> 15 Class.forName(strDrv);
> 16 conn = DriverManager.getConnection(strUrl, "postgl", "");
> 17 stmt = conn.createStatement();
> --
> Dave Cramer <davec@fastcrypt.com>
> Cramer Consulting
> 18 rs = stmt.executeQuery(strSql);
> 19 while (rs.next())
> 20 {
> 21 System.out.println(rs.getString(1));
> 22 }
> 23 //rs.beforeFirst();
> 24 while (rs.previous())
> 25 {
> 26 System.out.println(rs.getString(1));
> 27 }
> 28 rs.moveToInsertRow();
> 29 rs.updateInt("a", 100);
> 30 rs.insertRow();
> 31 } catch(Exception e){
> 32 System.out.println(e.toString());
> 33 }
>
> The table "test" has only two columns(a int, b varchar) and no primary keys.
> The error message is: No primary keys.
> It's all right with line 28,29 and 30 commented out.
> It will also succedd when the table "test" has a primary key.
> Can you tell me why?
> My environment is:
> redhat 7.3
> j2sdk1.4.1_01
> ant1.5.1
>
> Thanks and regards,
>
>
>
> Han
> zhouhanok@vip.sina.com
> 2002-12-02
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
--
Dave Cramer <Dave@micro-automation.net>