With regards to large ResultSets etc. Here is a link that maybe of
interest:
 http://www.nyoug.org/javasets.pdf

 -Ryan 

On 9/10/02 12:18 PM, "Michael Lee" <[EMAIL PROTECTED]> wrote:

> This is to all the book writing dudes.
> A lot of people here seem to be writing struts books.
> Include an example that does this...
> Scrolling through pageable data on a JSP from a large result set is very
> common for J2EE/struts developers yet there are no good examples out there.
> Real world examples would help sell the book for me.
> My 5 c
> 
> BTW, I'm implementing this same routine now as we speak. I've done it before
> (setting cursors and cursor sql in JDBC) but I'm trying to do it slightly
> differently and in a more DB independent way (no DB specific SQL, stored
> procedures, etc. just JDBC method calls and DB independent SQL) so I'll post
> the code here when I get it working (and working fast).
> Mike
> 
> 
> ----- Original Message -----
> From: "Ashish Kulkarni" <[EMAIL PROTECTED]>
> To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
> Sent: Tuesday, September 10, 2002 11:30 AM
> Subject: Re: [OT] RE: Struts and Large ResultSet
> 
> 
>> Hi Dave,
>> thanx for the solution, but i guess first one is okay,
>> for me, since if i keep the primary keys in list and
>> store it in user session, then it may be a problem if
>> some one else, deletes a record from database. since
>> the same database will be used by may user, i dont
>> want to check for each record while loading from
>> database,
>> Ashish
>> --- David Graham <[EMAIL PROTECTED]> wrote:
>>> Here's how you would grab the next set of values:
>>> select id, field1, fieldn
>>> from table
>>> where id > cur_value
>>> order by id
>>> fetch first 30 rows only
>>> 
>>> You would put a number in for cur_value like 30 to
>>> get the second set of 30
>>> records.  If you don't want to run that query each
>>> time, just query the
>>> whole table and put the primary keys into a List
>>> object in the user's
>>> session.  When the user wants the next set of values
>>> you query the table
>>> using an appropriate subset of the primary keys you
>>> stored in the session.
>>> 
>>> These are your 2 best bets.
>>> Dave
>>> 
>>>> Hi Dave,
>>>> this querry only works for first 30 fields, but
>>> what
>>>> if i want to get data from 31 to 60, then either i
>>>> have to have the key for 31 record, or else i will
>>>> have to run the querry twice, first to get the
>>> first
>>>> 30 and then the next 30 after setting the key..
>>>> i have nottired getting the next 30 records, but
>>> this
>>>> querry work on as400 i have tried it before
>>>> Ashish
>>>> --- David Graham <[EMAIL PROTECTED]> wrote:
>>>>> The databases all have their own version of this
>>>>> feature :-( so in SQL
>>>>> Server it's:
>>>>> 
>>>>> select top 10 from table
>>>>> 
>>>>> which makes the most sense to me.  But, in DB2
>>> you
>>>>> use a "fetch first"
>>>>> clause like this:
>>>>> 
>>>>> select * from table
>>>>> fetch first 30 rows only
>>>>> 
>>>>> Here's where I found the info
>>>>> 
>>> 
>>> http://nscpcw.physics.upenn.edu/db2_docs/db2s0/fet1st.htm#HDRFET1ST
>>>>> 
>>>>> I tried it out on a db2 7.2 database on win2k so
>>>>> hopefully it works on
>>>>> AS400.
>>>>> 
>>>>> Dave
>>>>> 
>>>>>> From: Ashish Kulkarni
>>> <[EMAIL PROTECTED]>
>>>>>> Reply-To: "Struts Users Mailing List"
>>>>> <[EMAIL PROTECTED]>
>>>>>> To: Struts Users Mailing List
>>>>> <[EMAIL PROTECTED]>
>>>>>> Subject: Re: [OT] RE: Struts and Large
>>> ResultSet
>>>>>> Date: Mon, 9 Sep 2002 16:02:00 -0700 (PDT)
>>>>>> 
>>>>>> Hi,
>>>>>> I am developing an web interface to existing
>>> AS400
>>>>>> system, so there is no way i can go to MYSQL or
>>>>>> suggest to change database, i have to live with
>>>>> AS400
>>>>>> and DB2 and try to find a way out
>>>>>> thanx for suggestion
>>>>>> 
>>>>>> --- "Peter A. J. Pilgrim"
>>>>>> <[EMAIL PROTECTED]> wrote:
>>>>>>> Ashish Kulkarni wrote:
>>>>>>>> Hi,
>>>>>>>> But is there a way to write some thing,
>>> which
>>>>> is
>>>>>>>> database independent, so u can change the
>>>>> database
>>>>>>>> without any code modification,
>>>>>>>> what i am trying it using CachedRowSet, i
>>> load
>>>>> the
>>>>>>>> resultset into a cachedrowset and then
>>> display
>>>>> it
>>>>>>> page
>>>>>>>> by page,
>>>>>>>> now only think i have to figure is, how
>>> can i
>>>>> load
>>>>>>>> only few records in this rowset, like if i
>>>>> have 1
>>>>>>>> million records, just load say 1000
>>> records,
>>>>>>> iterate
>>>>>>>> through them, if u reach end of cache load
>>>>> another
>>>>>>>> 1000, and so,
>>>>>>>> since a user will never go through a
>>> process
>>>>> of
>>>>>>> seeing
>>>>>>>> million records at a time, may be 1000 the
>>>>> max...
>>>>>>>> most user will use some thing like "Go To"
>>> to
>>>>>>> point at
>>>>>>>> a specific record in database,
>>>>>>>> I hope this thing works out well
>>>>>>>> Ashish
>>>>>>> 
>>>>>>> 
>>>>>>> Then you need something like MYSQL which has
>>>>> special
>>>>>>> reserved word to help you limit the size of
>>> the
>>>>>>> results.
>>>>>>> 
>>>>>>> SELECT LAST_NAME, FIRST_NAME, DEPT FROM
>>>>>>> COMPANY_EMPLOYEES
>>>>>>>     ORDER BY LAST_NAME
>>>>>>>     GROUP BY DEPT
>>>>>>>     LIMIT <offset>, <number-of-rows>
>>>>>>> 
>>>>>>> The "LIMIT" word get you a finite rowset
>>>>> limitation
>>>>>>> efficiently on the Database server side.
>>> Without
>>>>>>> this
>>>>>>> you may have to read the entire data set out
>>> of
>>>>> the
>>>>>>> database. Say you only interested in rows 30
>>> to
>>>>> 40
>>>>>>> then you discard 30 rows already as in
>>> normal
>>>>> JDBC
>>>>>>> programming and then kill off the query and
>>>>> result
>>>>>>> after reading row 439.  Suppose the database
>>>>> table
>>>>>>> has 10000 rows, then the database server may
>>> in
>>>>>>> efficient
>>>>>>> allocate the time and memory for 1000 rows
>>> to
>>>>> read
>>>>>>> by the client. But you stopped on row 40,
>>> what
>>>>>>> a waste with 960 unused records!
>>>>>>> 
>>>>>>> So in a nutshell go with MYSQL
>>>>>>> 
>>>>>>> SELECT CASH_IN, CASH_OUT, INVOICE, CUSTOMER
>>>>>>>   FROM BOOK_BALANCE
>>>>>>> LIMIT 30, 10
>>>>>>> 
>>>>>>> a la google.com
>>>>>>> 
>>>>>>> Or I think Oracle my have ROWINDEX
>>> attribute.
>>>>>>> 
>>>>>>> ROWINDEX >= 30 and ROWINDEX < 40.
>>>>>>> 
>>>>>>> Sybase and Postgres I dunno.
>>>>>>> 
>>>>>>> --
>>>>>>> Peter Pilgrim         +-----\
>>> +-++----++----+
>>>>>>> Java Technologist     |     | | ||    ||
>>> |
>>>>> 'n'
>>>>>>> Shine
>>>>>>>                        |  O  | | ||  --+|
>>> ---+
>>>>>>>          /\            | ._  / | | \  \ |
>>> |
>>>>>>>         /  \           | | \ \ | |+--  ||
>>> ---+ A
>>>>> new
>>>>>>> day
>>>>>>>        /_  _\  "Up"    | | | | | ||    ||
>>> |
>>>>> is
>>>>>>> coming
>>>>>>>          ||            +-+ +-+
>>> +-++----++----+
>>>>>>> <home
>>> page="http://www.xenonsoft.demon.co.uk/";
>>>>> />
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> To unsubscribe, e-mail:
>>>>>>> 
>>>>> 
>>> <mailto:[EMAIL PROTECTED]>
>>>>>>> For additional commands, e-mail:
>>>>>>> <mailto:[EMAIL PROTECTED]>
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> =====
>>>>>> A$HI$H
>>>>>> 
>>>>> 
>>>> __________________________________________________
>>>>>> Do You Yahoo!?
>>>>>> Yahoo! Finance - Get real-time stock quotes
>>>>>> http://finance.yahoo.com
>>>>>> 
>>>>>> --
>>>>>> To unsubscribe, e-mail:
>>>>> 
>>>> <mailto:[EMAIL PROTECTED]>
>>>>>> For additional commands, e-mail:
>>>>>> <mailto:[EMAIL PROTECTED]>
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>> 
>>> _________________________________________________________________
>>>>> Join the world's largest e-mail service with MSN
>>>>> Hotmail.
>>>>> http://www.hotmail.com
>>>>> 
>>>>> 
>>>>> --
>>>>> To unsubscribe, e-mail:
>>>>> 
>>> <mailto:[EMAIL PROTECTED]>
>>>>> For additional commands, e-mail:
>>>>> <mailto:[EMAIL PROTECTED]>
>>>>> 
>>>> 
>>>> 
>>>> =====
>>>> A$HI$H
>>>> 
>>>> __________________________________________________
>>>> Yahoo! - We Remember
>>>> 9-11: A tribute to the more than 3,000 lives lost
>>>> http://dir.remember.yahoo.com/tribute
>>>> 
>>>> --
>>>> To unsubscribe, e-mail:
>>>> <mailto:[EMAIL PROTECTED]>
>>>> For additional commands, e-mail:
>>>> <mailto:[EMAIL PROTECTED]>
>>> 
>>> 
>>> 
>>> 
>>> 
>> _________________________________________________________________
>>> MSN Photos is the easiest way to share and print
>>> your photos:
>>> http://photos.msn.com/support/worldwide.aspx
>>> 
>>> 
>>> --
>>> To unsubscribe, e-mail:
>>> <mailto:[EMAIL PROTECTED]>
>>> For additional commands, e-mail:
>>> <mailto:[EMAIL PROTECTED]>
>>> 
>> 
>> 
>> =====
>> A$HI$H
>> 
>> __________________________________________________
>> Yahoo! - We Remember
>> 9-11: A tribute to the more than 3,000 lives lost
>> http://dir.remember.yahoo.com/tribute
>> 
>> --
>> 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]>
> 
> 


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

Reply via email to