Solved

Acquiring Resultset from CallableStatement

Posted on 2004-09-18
4
1,429 Views
Last Modified: 2006-11-17
Hi Experts...

I am trying to acquire a ResultSet from CallableStatement...

ResultSet rst;
CallableStatement cstmt;

String strSQL = "(call MY_PROC(?))";
String MyParam = "28900003";

cstmt = conn.prepareCall(strSQL, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
cstmt.setString(1, MyParam);
cstmt.execute();
rst = (ResultSet) cstmt.getObject(1);


Here is my MS SQL Stored Procedure :

PROCEDURE MY_PROC
@MyParam varchar(20)
AS
SELECT Field2,Field3 FROM Orders WHERE Field1=@MyParam


However I am getting this error on line cstmt.execute()...

java.sql.SQLException: [aveConnect][JDBC SQL Server Driver]  Line 1: Incorrect s
yntax near '28900003'.
        at net.avenir.jdbc2.k.q(Protocol.java)
        at net.avenir.jdbc2.k.eb(Protocol.java)
        at net.avenir.jdbc2.k.ib(Protocol.java)
        at net.avenir.jdbc2.k.query(Protocol.java)
        at net.avenir.jdbc2.a.b(Statement.java)
        at net.avenir.jdbc2.y.a(CallableStatement.java)
        at net.avenir.jdbc2.y.execute(CallableStatement.java)

Hope you could help me...   Thanks...   =)
0
Comment
Question by:aris_datuin
  • 2
4 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 12091700
That looks to me like an incorrect syntax problem in the SP itself, and hence is not a Java problem yet
0
 
LVL 3

Accepted Solution

by:
sbockelman earned 100 total points
ID: 12093003

You need to register an OUT paramter to hold the rs.

You need to use {} not () around your proc.

Read this article for details:

 http://www.enterprisedt.com/publications/oracle/result_set.html

You may need to adjust some of the things for SQLServer vs. Oracle, but principles are similar.

http://www.mcse.ms/archive90-2004-4-594262.html

0
 

Author Comment

by:aris_datuin
ID: 12094650
Hi sbockelman...


This line solved my problem :

            You need to use {} not () around your proc.


Thanks..  =)
0
 
LVL 3

Expert Comment

by:sbockelman
ID: 12095763
cool!
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Viewers learn about the “while” loop and how to utilize it correctly in Java. Additionally, viewers begin exploring how to include conditional statements within a while loop and avoid an endless loop. Define While Loop: Basic Example: Explanatio…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question