Forums Register Login

escaping single quotes

+Pie Number of slices to send: Send
I didn't write the original database access/pooling code for this web app, and right now we've got an issue with single quotes in data not being escaped properly. I've read that PreparedStatement takes care of this for you, but I've only started using it for a few CLOB/BLOB inserts, etc. Right now, the majority of our updates run through the following method, and this method gets called 45 times in our code:



It seems like a quick and dirty but decent short-term solution could be to just change this to use a PreparedStatement (without any parameters). I don't have much time at the moment, and we just need something that will work without introducing other issues. While I'm at it, should I also change the following method that is used for the majority of our reads (SELECTs) out of the database?





Thanks for the advice...
+Pie Number of slices to send: Send
 

Originally posted by Stephen Huey:
It seems like a quick and dirty but decent short-term solution could be to just change this to use a PreparedStatement (without any parameters).

This will have zero effect, since it's the parameters that have their quotes (and other special characters) escaped. Unfortunately, you can't just apply the munging to the whole query -- you need to apply it to the parameters individually.

The simplest solution, still using your code above, would be to create a utility method to do the munging and call it from all the places where you call the code above while building the query. This will likely be "good enough" until you can take the time to switch to using prepared statements.
+Pie Number of slices to send: Send
I appreciate the help!
Without subsidies, chem-ag food costs four times more than organic. Or this tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 573 times.
Similar Threads
JDBC: What is the concrete class that implements the jdbc interfaces
JDBC & Servlet
ResultSet
oracle connection with jdbc
To Get the Number of Matches Found in the Database
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 19:37:59.