Thanks so much to everyone who answered -- all of your suggestions were
very helpful.

In the end, I ended up following Martin's advice.

I guess I haven't found the JSTL doc to be as good, or as up-to-date, as
the DBtags doc, so that's why I have not used the JSTL sql until now.

But it is much simpler and cleaner.

Thank you, Martin.

-carole

On Tue, 30 Apr 2002 [EMAIL PROTECTED] wrote:

> 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]>
> 
> 
> 
> 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
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]>

Reply via email to