jakarta-taglibs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rich Catlett <r...@more.net>
Subject Re: DBTags and scrollable result sets
Date Tue, 24 Jul 2001 22:12:33 GMT
My bad, this is what I mentioned earlier only I called it rowset.

Glenn Nielsen wrote:

> The easiest way to support navigating through result sets is adding
> support for the CachedRowSet which supports disconnected operation
> and caching of result sets between requests.
> 
> Regards,
> 
> Glenn
> 
> "Ciot, Thierry" wrote:
> 
>> The problem is that the result set is removed from page context past
>> </jdbc:resultSet>
>> thus <jdbc:navbar> cannot call isLast.
>> 
>> Maybe we need something like this:
>> 
>> <jdbc:statement id="stmt1" conn="conn1">
>>   <jdbc:query><%= query %></jdbc:query>
>>   <jdbc:resultSet id="myRS" from="32" to="22">
>>         <jdbc:loopResultSet>
>>         <tr>
>>         <td><jdbc:getColumn position="3"/></td>
>>         <td><jdbc:getColumn position="1"/></td>
>>         </tr>
>>         </jdbc:loopResultSet>
>> 
>>         <jdbc:navbar resultSet="myRS" pageNumberParam="pgNum">
>>           <a href="thisJspPage?pgNum=<%=previous%>">previous</a>
>>           <a href="thisJspPage?pgNum=<%=next%>">next</a>
>>         </jdbc:navbar>
>> 
>>   </jdbc:resultSet>
>> </jdbc:statement>
>> 
>> BTW, I prefer a from and to attribute because we can specify a reverse order
>> as in the previous example.
>> 
>> Thierry.
>> 
>> -----Original Message-----
>> From: Mark Howell [mailto:mark@nullcraft.org]
>> Sent: Tuesday, July 24, 2001 11:59 AM
>> To: taglibs-dev@jakarta.apache.org
>> Subject: Re: DBTags and scrollable result sets
>> 
>> This might be addressed with a few new attributes:
>> 
>> elementsPerPage - the number of rows to display per page
>> pageNumberParam - the name of the parameter with the current page number
>> 
>> elementsPerPage would be 10 in this case, and pageNumber would start at 1 by
>> default.  You would need some kind of linkage for the user to specify
>> another
>> page.  Perhaps a separate tag for this, a navigation bar tag.  The nav bar
>> would print links to other pages of the result set.  When the user clicked
>> on
>> one of these links, the pageNumber would be updated.  The next visit to the
>> statement tag would execute the same query again.  Within the resultSet tag,
>> if a pageNumber parameter were present, use it to determine which page to
>> seek
>> to.  If a pageNumberParam were not present, then a default of 1 would be
>> applied.
>> 
>> <jdbc:connection id="conn1">
>>   <jdbc:url>jdbc:odbc:test</jdbc:url>
>>   <jdbc:driver>sun.jdbc.odbc.JdbcOdbcDriver</jdbc:driver>
>> </jdbc:connection>
>> 
>> <jdbc:statement id="stmt1" conn="conn1">
>>   <jdbc:query><%= query %></jdbc:query>
>>   <jdbc:resultSet id="myRS" loop="true" elementsPerPage="10"
>>                   pageNumberParam="pgNum">
>>         <tr>
>>         <td><jdbc:getColumn position="3"/></td>
>>         <td><jdbc:getColumn position="1"/></td>
>>         </tr>
>>   </jdbc:resultSet>
>> </jdbc:statement>
>> 
>> <jdbc:navbar resultSet="myRS" pageNumberParam="pgNum">
>>   <a href="thisJspPage?pgNum=<%=previous%>">previous</a>
>>   <a href="thisJspPage?pgNum=<%=next%>">next</a>
>> </jdbc:navbar>
>> 
>> For example, if a request came in with pgNum=4 set, the jdbc:resultSet tag
>> would seek to 0-based record: elementsPerPage * (pgNum-1).  In this case,
>> 10*(4-1) (=30) would be the first record to display.  elementsPerPage
>> iterations through the result set would occur starting from record 30 and
>> ending with record 39.
>> 
>> The navbar checks if myRs.isLast() to see if the end has been reached.  If
>> not, then a next value is calculated to be pgNum + 1.  In this case, 5. A
>> previous value is calculated as pgNum - 1 or 1 if pgNum <= 1.
>> 
>> I hope this doesn't just confuse things.
>> 
>> -Mark Howell
>> mark at nullcraft.org
>> 
>> "Ciot, Thierry" wrote:
>> 
>>> I would think it is a very useful feature.  Right now I am looking at how
>> 
>> to
>> 
>>> display rows using a "paging" mechanism (that is, for example, 10 rows at
>> 
>> a
>> 
>>> time).
>>> 
>>> How would you go about doing this with the current tag lib?
>>> 
>>> With scrollable record set we could have something like:
>>> 
>>> <jdbc:connection id="conn1">
>>>   <jdbc:url>jdbc:odbc:test</jdbc:url>
>>>   <jdbc:driver>sun.jdbc.odbc.JdbcOdbcDriver</jdbc:driver>
>>> </jdbc:connection>
>>> 
>>> <jdbc:statement id="stmt1" conn="conn1">
>>>   <jdbc:query><%= query %></jdbc:query>
>>>   <jdbc:resultSet id="myRS" loop="true" beginat="20" endat="30">
>>>         <tr>
>>>         <td><jdbc:getColumn position="3"/></td>
>>>         <td><jdbc:getColumn position="1"/></td>
>>>         </tr>
>>>   </jdbc:resultSet>
>>> </jdbc:statement>
>>> 
>>> What do you think?
>>> 
>>> Thierry.
>>> 
>>> -----Original Message-----
>>> From: Morgan Delagrange [mailto:morgan24@rcnchicago.com]
>>> Sent: Monday, July 23, 2001 12:05 AM
>>> To: {thierry.ciot@compuware.com; taglibs-dev@jakarta.apache.org
>>> Subject: Re: DBTags and scrollable result sets
>>> 
>>> Ciot, Thierry wrote on 7/20/01 2:38 pm:
>>> 
>>>> Hi,
>>>> 
>>>> Is there any plan to add
>>>> scrollable result sets support
>>>> in DBTags?
>>>> 
>>>> Thanks, Thierry.
>>> 
>>> Nothing definite.  :)  That specific feature hasn't actually come up as of
>>> yet, but it does sound like a good one.
>>> 
>>> Morgan
>> 


Mime
View raw message