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