You are viewing a plain text version of this content. The canonical link for it is here.
Posted to taglibs-user@tomcat.apache.org by "Carole E. Mah" <ca...@mama.stg.brown.edu> on 2002/05/01 05:17:06 UTC

Re: dbtags: rowCount

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 martin.cooper@tumbleweed.com 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                     carolem@stg.brown.edu
> >            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:   <ma...@jakarta.apache.org>
> >For additional commands, e-mail: <ma...@jakarta.apache.org>
> 
> 
> 
> 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Carole E. Mah                     carolem@stg.brown.edu
           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:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: dbtags: rowCount

Posted by Paul DuBois <pa...@snake.net>.
>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.

Which doc are you using? It was recently revised, and it's much, much
better than before.  And the tags themselves have advance quite a bit
compared even to just a few months ago...

>
>But it is much simpler and cleaner.
>
>Thank you, Martin.
>
>-carole
>
>On Tue, 30 Apr 2002 martin.cooper@tumbleweed.com 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                     carolem@stg.brown.edu
>>  >            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: 
>><ma...@jakarta.apache.org>
>>  >For additional commands, e-mail: 
>><ma...@jakarta.apache.org>
>>
>>
>>
>>
>
>- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>Carole E. Mah                     carolem@stg.brown.edu
>            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:   <ma...@jakarta.apache.org>
>For additional commands, e-mail: <ma...@jakarta.apache.org>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>