aspose file tools*
The moose likes JDBC and the fly likes CallableStatement and parameterName Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » JDBC
Bookmark "CallableStatement and parameterName" Watch "CallableStatement and parameterName" New topic
Author

CallableStatement and parameterName

Moody Hopkins
Greenhorn

Joined: Nov 24, 2003
Posts: 11
How do you use the CallableStatement and parameterNames?
I do not want to use the indexes (indi?) and wildcards if possible.
I know how to use the ? type statements.
I would like to use these type of "setX" methods:
setString(String parameterName, String x)
instead of the :
setString(int parameterIndex, String x)
type methods.
Is this possible? If so, how do I create the statement?
Thanks!!!
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 31079
    
163

Moody,
There is a good article on this. Basically the names of the parameters need to match the names declared in your stored procedure.


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
Loren Rosen
Ranch Hand

Joined: Feb 12, 2003
Posts: 156
Oracle supports precisely what you want, if you use OracleCallableStatement. That, of course, is specific to Oracle, but I think the technique described in the article Jeanne mentions is also Oracle-specific.
Moody Hopkins
Greenhorn

Joined: Nov 24, 2003
Posts: 11
Thank you very much for the link! However, after reading the article, it seems that it still uses the positional notation. The only difference is the parameters are named in the stored procedure. The java code still has to know the order of the parameters. This is what I would like to avoid.
Perhaps this is not possible? But it must be, why else do we have the functions overidden with named parameters?
What I would like to do is avoid the ? thing altogether.
Thanks!
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 31079
    
163

Moody,
In this code from the article, it shows how you are defining the order in your java code. While you still set the parameters using indexes, these numbers are based on the order set in the java code. So if you wanted p_status to be #1, you would put it first.
Guram Savinov
Greenhorn

Joined: Jun 04, 2014
Posts: 2

Is it possible to define named parameters with named PL/SQL notation, like this

and later set values with methods like this
Martin Vajsar
Sheriff

Joined: Aug 22, 2010
Posts: 3611
    
  60

Welcome to the Ranch, Guram!

Which database are you using? I think that not all databases support using named parameters, and some provide database-specific extensions for this functionality.
Guram Savinov
Greenhorn

Joined: Jun 04, 2014
Posts: 2

I'm interested in Oracle database.
As far as I know it's possible to define PL/SQL parameters (names with '=>' symbols after it) and use JDBC parameters (names with doublequotes prefix).
Look for example in my previous post.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
 
subject: CallableStatement and parameterName