類別ADORecordSet_fbsql的繼承圖:

公開方法(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 行.
|
||||||||||||
|
定義在 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重新實作. 定義在 adodb-fbsql.inc.php 檔案之第 216 行.
|
|
|
定義在 adodb-fbsql.inc.php 檔案之第 210 行. 00211 { 00212 $this->fields = @fbsql_fetch_array($this->_queryID,$this->fetchMode); 00213 return ($this->fields == true); 00214 }
|
|
|
定義在 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 }
|
|
|
定義在 adodb-fbsql.inc.php 檔案之第 205 行.
|
|
|
Get the ADOFieldObject of a specific column.
依據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 }
|
|
||||||||||||||||
|
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:
依據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 }
|
|
|
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 行. |
|
|
定義在 adodb-fbsql.inc.php 檔案之第 162 行. |