Hi Carole

If you happen to be using Struts, there's a tag in there called
logic:greaterThan

would be something like:

     <logic:greaterThan
                 property="rset2.rowCount"
                 value="0">
        <!--your header etc-->
                </table>
    </logic:greaterThan>



maybe this or similar tag is available in apache taglibs


James May , Stratford, England



-----Original Message-----
From: Carole E. Mah [mailto:[EMAIL PROTECTED]]
Sent: 30 April 2002 14:03
To: Tag Libraries Users List
Subject: dbtags: rowCount



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


______________________________________________________________
This message has been scanned for all viruses by BTnet VirusScreen.

______________________________________________________________
This message has been checked for all viruses by BTnet VirusScreen.

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to