How to implement a dynamic string into a sql statement? - Mailing list pgsql-jdbc

From howalt
Subject How to implement a dynamic string into a sql statement?
Date
Msg-id 53FCC2CB.6080507@web.de
Whole thread Raw
Responses Re: How to implement a dynamic string into a sql statement?  ("Lussier, Denis" <denisl@openscg.com>)
Re: How to implement a dynamic string into a sql statement?  (David G Johnston <david.g.johnston@gmail.com>)
List pgsql-jdbc
Hello Mailinglist! :-)

I have some spatial datasets which are availabe in a opensource metadata
catalog software GeoNetwork and in a PostGIS database. The problem is
that the student who created the database used different IDs for the
same datasets. So the IDs in the GeoNetwork differs from the IDs in the
postGIS database. They only have the same name

So, if someone uploads a new dataset into GeoNetwork, the same dataset
is uploaded into a postGis database too.

Now I want to add a ID column into the database to give the field the
same ID like the ID in geonetwork. I think I can only do this with using
the filename cause they are same in both cases.

Now I want to alter the table in eclipse with following code:

Connection con = null;
PreparedStatement ps = null;
final String sqlps = "ALTER TABLE ? ADD COLUMN ?";

String filen = filename.substring(0, filename.indexOf('.'));
                 try {
                     con =
DriverManager.getConnection("jdbc:postgresql_postGIS://localhost:5433/testdb?user=postgres&password=test");
                     try {
                         ps = con.prepareStatement(sqlps);
                         ps.setString(1, filen);
                         ps.setString(2, "GN_ID");

                         ps.execute();

But this does not work cause I am getting the following
Exception:org.postgresql.util.PSQLException: ERROR: syntax error at »$1«
Position: 13

So, it seems that PSQL has problems with the ? in the prepared
statement. Does anyone know a solution for this problem?

I also tried using normale statement, but this is giving me a findbug
error that I try to pass a nonconstant string to an execute method on an
sql statement. So I really dont know how to get rid of this problem

Thank you in advance for every help



pgsql-jdbc by date:

Previous
From: Dave Cramer
Date:
Subject: Re: JDBC obey deadlock timeout?
Next
From: "Lussier, Denis"
Date:
Subject: Re: How to implement a dynamic string into a sql statement?