00001 <?php 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 if (!function_exists('sybase_connect'))
00023         trigger_error('sybase_* functions not defined. Install php*-sybase.', E_USER_ERROR);
00024 require_once(dirname(__FILE__) . '/KjwResultSet.php');
00025 
00030 class KjwMsResultSet extends KjwResultSet {
00031         var $_resource;         
00032         var $_pointer;          
00033         var $_end;                      
00040         function KjwMsResultSet(&$resource) {
00041                 parent::KjwResultSet();
00042                 $this->_resource = &$resource;
00043                 $this->_pointer = 0;
00044                 $this->_end = sybase_num_rows($this->_resource);
00045         }
00046 
00047         
00048         function destroy() {
00049                 sybase_free_result($this->_resource);
00050                 parent::destroy();
00051         }
00052 
00053         
00054         function getNext() {
00055                 if ($this->_pointer < $this->size()) {
00056                         ++$this->_pointer;
00057                         return sybase_fetch_assoc($this->_resource);
00058                 }
00059                 return false;
00060         }
00061 
00062         
00063         function at() {
00064                 return $this->_pointer;
00065         }
00066 
00067         
00068         function size() {
00069                 return $this->_end;
00070         }
00071 
00072         
00073         function seekAbs($offset) {
00074                 if ($offset >= 0 && $offset < $this->_end) {
00075                         $this->_pointer = $offset;
00076                         sybase_data_seek($this->_resource, $offset);
00077                         return true;
00078                 }
00079                 return false;
00080         }
00081 }
00082 
00083 ?>