Solved

SQL query in a java bean

Posted on 2004-03-20
14
336 Views
Last Modified: 2012-05-04
My SQL Query is:
ResultSet RS             = SQLStmt.executeQuery("SELECT * FROM links;");

Question:
If I pass a string into the method (called SQLVar for example), how do I pass this into my SQL statement so i have something like this:

ResultSet RS             = SQLStmt.executeQuery("SELECT * FROM links where description like SQLvar;");

Thanks,

Matt
0
Comment
Question by:Ma7T
  • 8
  • 6
14 Comments
 
LVL 92

Expert Comment

by:objects
ID: 10641827
ResultSet RS           = SQLStmt.executeQuery("SELECT * FROM links where description like '"+SQLvar+"';");
0
 

Author Comment

by:Ma7T
ID: 10641831
Also - if I create a session bean, how do i discard the session - for example is a user logs out?
0
 
LVL 92

Accepted Solution

by:
objects earned 200 total points
ID: 10641832
or use a PreparedStatement:

PreparedStatement ps = conn.prepareStatement("SELECT * FROM links where description like ?");
ps.setString(1, SQLVar);
ResultSet RS = ps.executeQuery();
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 92

Expert Comment

by:objects
ID: 10641836
> if I create a session bean, how do i discard the session

session.invalidate();
0
 

Author Comment

by:Ma7T
ID: 10641994
Hello again Objects.
I think your code works - unfortunately when I ran it I started getting an exception, so i put all my code back how it was and I can't seem to get rid of the exception.  Can you cast your expert eye over it - I can't seem to find where the error lies:

try
            {
                  ObjConn = DriverManager.getConnection(url, "user", "password");
                    SQLStmt = ObjConn.createStatement();
                ResultSet RS             = SQLStmt.executeQuery("SELECT * FROM database;");
                ResultSetMetaData OutputMD      = RS.getMetaData();
                  
                iNumColumns             = OutputMD.getColumnCount();
                                                
                        while(RS.next())
                        {
                              Vector Vectortemp = new Vector();
                              
                              for(int i=1;i<=iNumColumns;i++)
                              {
                                    Vectortemp.addElement(RS.getObject(i));
                              }
                              
                              VectorA.addElement(Vectortemp);
                              }
                              
                        SQLStmt.close();
                        RS.close();
                        ObjConn.close();
                   }

Any ideas.

(i've upped the points because you've been so helpful)
0
 
LVL 92

Expert Comment

by:objects
ID: 10642010
what errors u getting?
0
 

Author Comment

by:Ma7T
ID: 10642023
I'm not sure - I've got a crude way of checking:

catch(SQLException ConnectEx)
            {
                  iNumColumns = 32;
                     System.err.println(ConnectEx.getMessage());
                   }

I return iNumColumns to the JSP page and output it to the screen.  

All i know is iNumColumns = 32

0
 
LVL 92

Expert Comment

by:objects
ID: 10642092
>   System.err.println(ConnectEx.getMessage());

what does that line print to log?

> SQLStmt.close();
> RS.close();
> ObjConn.close();

order should be:

RS.close();
SQLStmt.close();
ObjConn.close();

0
 

Author Comment

by:Ma7T
ID: 10642148
If i browse to tomcat/logs where i assume the logs are there are about 5 different log files whih contain loads of data.  So i've moved them into a file called temp so that when i reload the page it creates a new log file.  But this doesn't happen.

How do i find the particular log of this event?
0
 
LVL 92

Expert Comment

by:objects
ID: 10642173
what version of tomcat?

did u change the ordering of the close?
0
 

Author Comment

by:Ma7T
ID: 10642184
Yep, changed the order.
Version of tomcat is 5.0.16

The only thing that i have changed since it was working was the page that the method is called from but i can't see his having any effect on the method throwing an exception.
0
 
LVL 92

Expert Comment

by:objects
ID: 10642209
you could try getting rid of that ; at the end of the sql statement.

not sure what 5.0 does with its logs and it probably depends on your setup anyway.
if it helps the log for my local tobcat webapp in 4.1 is localhost_log.yyyy-mm-dd.txt
0
 

Author Comment

by:Ma7T
ID: 10642246
Fixed it!!!!
dont worry i was being an idiot.

It was further above in the code, i had :
ClassforName("var")
instead of ClassforName(var)

Thanks a lot for your help though, I found the log file and it was that that pointed me to my stupid mistake.

0
 
LVL 92

Expert Comment

by:objects
ID: 10642256
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Fisheye tool 2 122
String format issue 13 93
maven project jars 7 58
jdbc error in jsp application 20 74
The world seems to conceive of a curious bubble separating IT from “the business.”  More so than just about any other pursuit in the commercial world, people think of IT as some kind of an island.
Facebook has became the #1 social media platform. People share many funny videos there, yet you don't know how to download them? Now you can download Videos from Facebook in just 3 simple steps.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

696 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