NewsNewsFeaturesDownloadsDevelopmentSupportForumDocumentsAbout Us

ADORecordSet_fbsql 類別 參考文件

類別ADORecordSet_fbsql的繼承圖:

ADORecordSet ADODB_BASE_RS 全部成員列表

公開方法(Public Methods)

 ADORecordSet_fbsql ($queryID, $mode=false)
 _initrs ()
FetchField ($fieldOffset=-1)
 _seek ($row)
 _fetch ($ignore_fields=false)
 _close ()
 MetaType ($t, $len=-1, $fieldobj=false)

公開屬性

 $databaseType = "fbsql"
 $canSeek = true

詳細描述

定義在 adodb-fbsql.inc.php 檔案之第 160 行.


建構子與解構子說明文件

ADORecordSet_fbsql::ADORecordSet_fbsql queryID,
mode = false
 

定義在 adodb-fbsql.inc.php 檔案之第 165 行.

參考 $ADODB_FETCH_MODE, $mode, 及 ADORecordSet::ADORecordSet().

00166     {
00167         if (!$mode) { 
00168             global $ADODB_FETCH_MODE;
00169             $mode = $ADODB_FETCH_MODE;
00170         }
00171         switch ($mode) {
00172         case ADODB_FETCH_NUM: $this->fetchMode = FBSQL_NUM; break;
00173         case ADODB_FETCH_ASSOC: $this->fetchMode = FBSQL_ASSOC; break;
00174         case ADODB_FETCH_BOTH: 
00175         default:
00176         $this->fetchMode = FBSQL_BOTH; break;
00177         }
00178         return $this->ADORecordSet($queryID);
00179     }


函式成員說明文件

ADORecordSet_fbsql::_close  ) 
 

依據ADORecordSet重新實作.

定義在 adodb-fbsql.inc.php 檔案之第 216 行.

00216                       {
00217         return @fbsql_free_result($this->_queryID);     
00218     }

ADORecordSet_fbsql::_fetch ignore_fields = false  ) 
 

定義在 adodb-fbsql.inc.php 檔案之第 210 行.

00211     {
00212         $this->fields = @fbsql_fetch_array($this->_queryID,$this->fetchMode);
00213         return ($this->fields == true);
00214     }

ADORecordSet_fbsql::_initrs  ) 
 

定義在 adodb-fbsql.inc.php 檔案之第 181 行.

參考 $ADODB_COUNTRECS.

00182     {
00183     GLOBAL $ADODB_COUNTRECS;
00184         $this->_numOfRows = ($ADODB_COUNTRECS) ? @fbsql_num_rows($this->_queryID):-1;
00185         $this->_numOfFields = @fbsql_num_fields($this->_queryID);
00186     }

ADORecordSet_fbsql::_seek row  ) 
 

定義在 adodb-fbsql.inc.php 檔案之第 205 行.

00206     {
00207         return @fbsql_data_seek($this->_queryID,$row);
00208     }

& ADORecordSet_fbsql::FetchField fieldOffset = -1  ) 
 

Get the ADOFieldObject of a specific column.

參數:
fieldoffset is the column position to access(0-based).
傳回值:
the ADOFieldObject for that column, or false.

依據ADORecordSet重新實作.

定義在 adodb-fbsql.inc.php 檔案之第 190 行.

00190                                             {
00191         if ($fieldOffset != -1) {
00192             $o =  @fbsql_fetch_field($this->_queryID, $fieldOffset);
00193             //$o->max_length = -1; // fbsql returns the max length less spaces -- so it is unrealiable
00194             $f = @fbsql_field_flags($this->_queryID,$fieldOffset);
00195             $o->binary = (strpos($f,'binary')!== false);
00196         }
00197         else if ($fieldOffset == -1) {  /*  The $fieldOffset argument is not provided thus its -1   */
00198             $o = @fbsql_fetch_field($this->_queryID);// fbsql returns the max length less spaces -- so it is unrealiable
00199             //$o->max_length = -1;
00200         }
00201         
00202         return $o;
00203     }

ADORecordSet_fbsql::MetaType t,
len = -1,
fieldobj = false
 

Get the metatype of the column. This is used for formatting. This is because many databases use different names for the same type, so we transform the original type to our standardised version which uses 1 character codes:

參數:
t is the type passed in. Normally is ADOFieldObject->type.
len is the maximum length of that field. This is because we treat character fields bigger than a certain size as a 'B' (blob).
fieldobj is the field object returned by the database driver. Can hold additional info (eg. primary_key for mysql).
傳回值:
the general type of the data: C for character < 250 chars X for teXt (>= 250 chars) B for Binary N for numeric or floating point D for date T for timestamp L for logical/Boolean I for integer R for autoincrement counter/integer

依據ADORecordSet重新實作.

定義在 adodb-fbsql.inc.php 檔案之第 220 行.

參考 $t.

00221     {
00222         if (is_object($t)) {
00223             $fieldobj = $t;
00224             $t = $fieldobj->type;
00225             $len = $fieldobj->max_length;
00226         }
00227         $len = -1; // fbsql max_length is not accurate
00228         switch (strtoupper($t)) {
00229         case 'CHARACTER':
00230         case 'CHARACTER VARYING': 
00231         case 'BLOB': 
00232         case 'CLOB': 
00233         case 'BIT': 
00234         case 'BIT VARYING': 
00235             if ($len <= $this->blobSize) return 'C';
00236             
00237         // so we have to check whether binary...
00238         case 'IMAGE':
00239         case 'LONGBLOB': 
00240         case 'BLOB':
00241         case 'MEDIUMBLOB':
00242             return !empty($fieldobj->binary) ? 'B' : 'X';
00243             
00244         case 'DATE': return 'D';
00245         
00246         case 'TIME':
00247         case 'TIME WITH TIME ZONE':
00248         case 'TIMESTAMP': 
00249         case 'TIMESTAMP WITH TIME ZONE': return 'T';
00250         
00251         case 'PRIMARY_KEY':
00252             return 'R';
00253         case 'INTEGER':
00254         case 'SMALLINT': 
00255         case 'BOOLEAN':
00256             
00257             if (!empty($fieldobj->primary_key)) return 'R';
00258             else return 'I';
00259         
00260         default: return 'N';
00261         }
00262     }


資料成員說明文件

ADORecordSet_fbsql::$canSeek = true
 

any varchar/char field this size or greater is treated as a blob in other words, we use a text area for editing.

依據ADORecordSet重新實作.

定義在 adodb-fbsql.inc.php 檔案之第 163 行.

ADORecordSet_fbsql::$databaseType = "fbsql"
 

定義在 adodb-fbsql.inc.php 檔案之第 162 行.


此類別(class) 文件是由下列檔案中產生: