File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes JDBC and the fly likes PreparedStatement pads spaces Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Databases » JDBC
Bookmark "PreparedStatement pads spaces " Watch "PreparedStatement pads spaces " New topic

PreparedStatement pads spaces

Vic Dayton

Joined: Apr 21, 2002
Posts: 7
I have encountered a problem that if I used PreparedStatement to insert records, then JDBC will pad spaces in the fields.
But if I used regular statement, then the insert is fine.
Is this is normal? Is there any way I can fix this problem?
Any advice is greatly appreciated.
Varun Khanna
Ranch Hand

Joined: May 30, 2002
Posts: 1400
Is the datafield giving you this problem is of type CHAR ? if yes, Try VARCHAR and see if this works as in the SQL standard, CHAR is a fixed length data type. In many DB's (not all), that means every character must match, including size and trailing blanks.

- Varun
Vic Dayton

Joined: Apr 21, 2002
Posts: 7
Thanks for the reply. The datafield is Varchar.
But I found the real problem is the the setString() method. I still don't know why.
I found a work around is to supply all the value in the update SQL statement when construct the preparedStatement. I need this work around use the JSTL SQL tag. :-(
I agree. Here's the link:
subject: PreparedStatement pads spaces
Similar Threads
executing an update sql takes too long , what is problem ?
How to deal with single quote?
Insert into PrepareStatement Using Field Name
For Oracle 8i, PreparedStatement Query fails for Key.
Insert space in xml