How to implement a dynamic string into a sql statement?

Поиск
Список
Период
Сортировка
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 по дате отправления:

Предыдущее
От: Dave Cramer
Дата:
Сообщение: Re: JDBC obey deadlock timeout?
Следующее
От: "Lussier, Denis"
Дата:
Сообщение: Re: How to implement a dynamic string into a sql statement?