Kris Schneider wrote:
Jerry wrote:
Steven F. Bell <sbell <at> frycomm.com> writes:
Hello,
I am using the standard taglib sql tag to query a database and large
text fields are coming back like:
net.sourceforge.jtds.jdbc.ClobImpl <at> 94aa42
What could be causing this, and is there any means to correct it, and
get the proper text back?
JSTL will use ResultSet.getObject to retrieve your results. In some
cases, this will result in a Clob. If you're using JSP 2.0, you might
consider creating an EL function to process the Clob into a string. Or
you could take a bean-based approach that will also work with earlier
version of JSP. Obviously, a scriptlet will also get the job done. The
simplest way to convert a Clob into a String is:
long length = theClob.length();
String s = theClob.getSubString(0, (int)length);
Sorry, I think that should be:
String s = theClob.getSubString(1, (int)length);
Of course, that might not work depending on the length of the Clob, so
there are other ways to stream the Clob data:
Reader in = theClob.getCharacterStream();
...
Also, the results in the tag are alphabetical a-z, can this order be
changed around to match the field order in the database?
You might want to look at using Result.getRowsByIndex instead of
Result.getRows to iterate through your results:
<c:forEach var="row" items="${results.rowsByIndex}">
<c:forEach var="col" items="${row}">
Result.getRowsByIndex returns an Object[][] instance where the first
dimension is a row index and the second dimension is a column index.
I hope that's right, it's been a while since I've been able to play with
JSP/JSTL stuff...
Hi,
I had the same problem because i used the datatype ntext of text of a
sql server
database.
Using varchar instead of text resolved my problem.
Hope this helps,
Jerry
--
Kris Schneider <mailto:[EMAIL PROTECTED]>
D.O.Tech <http://www.dotech.com/>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]