Have you considered using JSTL instead of dbTags? Then you could do
something like this:
<sql:query var="result">
SELECT * FROM catTable WHERE color=?
<sql:param value="${myColor}"/>
</sql:query>
<c:if "${result.rowCount != 0}">
<!-- Generate your table here -->
</c:if>
--
Martin Cooper
At 06:02 AM 4/30/2002, Carole E. Mah wrote:
>Here is what it says in the doc:
>
>"The "rowCount" tag prints out the number of rows retrieved from the
>database. It can be used inside a ResultSet tag to provide a running count
>of rows retreived, or after the ResultSet tag to display the total number.
>See the Tag Reference for examples. Using the tag before the ResultSet
>will produce an error."
>
>Is there any way to test rowCount before the ResultSet?
>
>That is, if I have "catTable":
>
>catName color furType
>----------------------------------
>Jasmine Tortoise Shell long
>Honey Orange Tabby short
>Corinna Calico short
>Pearl Silver Tabby long
>
>And my SELECT statement is:
>
>SELECT * FROM catTable WHERE color="Black";
>
>Then, because there does not seem to be a way to test the sql query to see
>if it returns zero rows, the table headings will always be printed, even
>if no table rows print (assuming for this example that the user chose
>"Black" for catColor in the HTML form):
>
><%
> String myColor = request.getParameter("catColor");
>%>
>
>
><sql:statement id="stmt1" conn="conn1">
>
> <sql:query>
> SELECT * FROM catTable WHERE color='<%= myColor %>'
> </sql:query>
>
> <!-- I want to have a conditional test here
> so that is the query above returns zero rows,
> the following HTML does not get printed.
> -->
>
> <table>
> <tr>
> <td>catName</td>
> <td>color</td>
> <td>furType</td>
> </tr>
>
> <!-- need to NOT print the above HTML if zero rows
> in query! -->
>
> <sql:execute ignoreErrors="true"/>
>
> <sql:resultSet id="rset2">
> <tr>
> <td><sql:getColumn colName="catName"/></td>
> <td><sql:getColumn colName="color"/></td>
> <td><sql:getColumn colName="furType"/></td>
> </tr>
> </sql:resultSet>
>
> <!-- same here, don't print if zero rows -->
> </table>
> <!-- how? -->
>
></sql:statement>
>
>That is, because of the ignoreErrors-"true", if there are zero rows,
>nothing gets printed out inside the resultSet block. However, the
>literal table header row always gets printed.
>
>Thanks for any advice.
>
>-Carole
>
>- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>Carole E. Mah [EMAIL PROTECTED]
> Senior Programmer/Analyst
> Brown University Scholarly Technology Group
> phn 401-863-2669
> fax 401-863-9313
> http://www.stg.brown.edu/
> personal: http://www.stg.brown.edu/~carolem/
>
>
>
>--
>To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>