Link to home
Start Free TrialLog in
Avatar of samblake
samblake

asked on

Java and currval

I'm having trouble getting the currval function to work from a Java program (or from Postgres at all). I want to get the value of addressid in the table taddress. The best I seem to be able to come up with is 'SELECT currval(taddress.addressid)'. However this gives me the error 'ERROR:  relation "1" does not exist' or whatever the number should be. I've tried lots of variations but can't seem to work it out. What am I doing wrong? Thanks.

-Sam
ASKER CERTIFIED SOLUTION
Avatar of absong
absong

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of earth man2
import java.lang.*;
import java.sql.*;

  class PostgreSQLTest {
    public static void main (String[] args) {
      try {
        String     url = "jdbc:postgresql://localhost:5432/YOUR_DATABASE";
        Connection con = DriverManager.getConnection(url, "myaccount", "mypassword");
        Statement  stm = con.createStatement();

        stm.setQueryTimeout(10);
        ResultSet  rs  = stm.executeQuery("select addressid from taddress");
        rs.next();
        System.out.println(rs.getString(1));
      }
      catch (SQLException e) {
        System.out.println("Exception!");
        System.out.println(e.toString());
    }
  }
}

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/jre/lib/ext/postgresql.jar
javac PostgreSQLTest.java
java -Djdbc.drivers=org.postgresql.Driver PostgreSQLTest

Hello Postgres Java World !
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
absong is correct in his contribution.  Share the points with absong.