create tables and prepared statements with params - Mailing list pgsql-jdbc

From Enrique Rodríguez Lasterra
Subject create tables and prepared statements with params
Date
Msg-id 6daed2a30609131010q280c628cv66c7d2a73f2ab769@mail.gmail.com
Whole thread Raw
Responses Re: create tables and prepared statements with params  (Mark Lewis <mark.lewis@mir3.com>)
List pgsql-jdbc
 get an error when i create a table using preparedstatement with some
parameters "?".

Is this a non standard function?

With JDBC 7.4 it runs prefectly but with 8.x no. With 8.x if i don't
use params the table is created without errors

Here is all the info.

Regards, Enrique

Code

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

/**
* DB
*
* @version 1.0
* @since 13-sep-2006
*/
public class DB {
   public static void main(String[] args) {
       Connection connection = null;
       try {
           Class.forName("org.postgresql.Driver");
           connection =
DriverManager.getConnection("jdbc[tongue]ostgresql://192.168.4.221/canyamo-test",
"canyamo-test", "canyamo-test");
           PreparedStatement stmt =
connection.prepareStatement("create table orders ( id integer not
null, client character varying(15) default ? not null)");
           stmt.setObject(1, "without-name");

           stmt.executeUpdate();//stmt.execute();
       } catch (Exception e) {
           e.printStackTrace();
       }
   }
}

Exception

org.postgresql.util.PSQLException: ERROR: there is no parameter $1
       at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1527)
       at org.postgresql.core.v3.QueryExecutorImpl.processResults
(QueryExecutorImpl.java:1311)
       at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:190)
       at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
       at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:354)
       at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:308)
       at test.DB.main(DB.java:23)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)


Versions
JDBC: 8.1.404
Database: 8.1.4



--
_______________________________
Enrique Rodriguez Lasterra
lasterra AT javahispano DOT org
http://www.javahispano.org
Asociación sin ánimo de lucro sobre java
Spanish non profit association about java

pgsql-jdbc by date:

Previous
From: Mark Lewis
Date:
Subject: Re: about monitoring the input stream
Next
From: "Enrique Rodríguez Lasterra"
Date:
Subject: PreparedStatement and CreateTable