How to implement a dynamic string into a sql statement?

From: howalt <howaltwil(at)web(dot)de>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: How to implement a dynamic string into a sql statement?
Date: 2014-08-26 17:24:27
Message-ID: 53FCC2CB.6080507@web.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Lussier, Denis 2014-08-26 17:37:04 Re: How to implement a dynamic string into a sql statement?
Previous Message Dave Cramer 2014-08-25 15:33:51 Re: JDBC obey deadlock timeout?