Integrating Web front ends to Sybase Backends.

Issues to watch out for.

---
Row Buffering; If your application returns too many rows, the browser
(whether it be Internet Explorer or Netscape Navigator) will crash.
Solutions are 

- to use a cursor on the server side and set the 
"set cursor rows #" to limit the number of rows returned and perform
some batch result returning.  This will not work unless you're connecting
via the CT-lib (newer) version of Open client (if you're using a perl
cgi script, eg).  Db-lib does not support cursors.

- issue a set rowcount = #, and have a increasing primary key on the result
set, so that you can issue a new query with an appropriate WHERE 
clause to get the next (or previous) 100 rows. 

- Use caching on the web server, for example a dbm file or something 
similar, and have the cgi script read the next data set from there 
instead of from the database. 

- Use the same technique with some sort of temp tables on the 
database server, possibly using a generated identity column as a 
"row number" value, and then query the temp table instead of the 
primary table for next/previous data sets. 

- used a stored proc with params with a set rowcount. 
We linked the scroll down event with the proc which collected the next rowset.  
The PC then buffered locally the rows it rec'd, so that the user could then scroll up or down. 

---