Yii Framework v1.1.10 绫诲弬鑰

CDbDataReader

system.db
缁ф壙 class CDbDataReader » CComponent
瀹炵幇 Iterator, Traversable, Countable
婧愯嚜 1.0
鐗堟湰 $Id: CDbDataReader.php 3426 2011-10-25 00:01:09Z alexander.makarow $
婧愮爜 framework/db/CDbDataReader.php
CDbDataReader浠h〃涓涓煡璇㈢粨鏋滈泦鐨勮鐨勫彧杩涙祦銆

瑕侀槄璇诲綋鍓嶈鏁扮粍锛岃皟鐢read銆 鏂规硶readAll杩斿洖鍦ㄥ崟涓暟缁勪腑鐨勬墍鏈夎銆

鍙互浣跨敤foreach璇诲彇CDbDataReader涓殑琛屾暟缁勶細
foreach($reader as $row)
    // $row 琛ㄧず涓涓暟鎹
鍥犱负 CDbDataReader 鐨勬祦鍙兘鍚戝墠锛屾墍浠ヤ綘鍙互鍙亶鍘嗕竴娆°

涔熷彲浠ヤ娇鐢ㄧ壒瀹氱殑鏁版嵁妯″紡璇诲彇鏁版嵁锛 閫氳繃璁剧疆FetchMode銆 鍙傝http://www.php.net/manual/en/function.PDOStatement-setFetchMode.php 涓烘洿澶氱粏鑺傘

鍏叡灞炴

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
columnCount integer 杩斿洖缁撴灉闆嗙殑鍒楁暟銆 CDbDataReader
isClosed boolean 鏄惁姝よ鍙栧櫒鍏抽棴銆 CDbDataReader
rowCount integer 杩斿洖缁撴灉闆嗙殑琛屾暟銆 CDbDataReader

鍏叡鏂规硶

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
__call() 濡傛灉绫讳腑娌℃湁璋冪殑鏂规硶鍚嶏紝鍒欒皟鐢ㄨ繖涓柟娉曘 CComponent
__construct() 鏋勯犲嚱鏁般 CDbDataReader
__get() 杩斿洖涓涓睘鎬у笺佷竴涓簨浠跺鐞嗙▼搴忓垪琛ㄦ垨涓涓涓哄悕绉般 CComponent
__isset() 妫鏌ヤ竴涓睘鎬ф槸鍚︿负null銆 CComponent
__set() 璁剧疆涓涓粍浠剁殑灞炴у笺 CComponent
__unset() 璁剧疆涓涓粍浠剁殑灞炴т负null銆 CComponent
asa() 杩斿洖杩欎釜鍚嶅瓧鐨勮涓哄璞° CComponent
attachBehavior() 闄勫姞涓涓涓哄埌缁勪欢銆 CComponent
attachBehaviors() 闄勫姞涓涓涓哄垪琛ㄥ埌缁勪欢銆 CComponent
attachEventHandler() 涓轰簨浠堕檮鍔犱竴涓簨浠跺鐞嗙▼搴忋 CComponent
bindColumn() 缁戝畾涓鍒楀埌涓涓狿HP鍙橀噺銆 CDbDataReader
canGetProperty() 纭畾灞炴ф槸鍚﹀彲璇汇 CComponent
canSetProperty() 纭畾灞炴ф槸鍚﹀彲鍐欍 CComponent
close() 鍏抽棴姝よ鍙栧櫒銆 CDbDataReader
count() 杩斿洖缁撴灉闆嗙殑琛屾暟銆 CDbDataReader
current() 杩斿洖褰撳墠琛屻 CDbDataReader
detachBehavior() 浠庣粍浠朵腑鍒嗙涓涓涓恒 CComponent
detachBehaviors() 浠庣粍浠朵腑鍒嗙鎵鏈夎涓恒 CComponent
detachEventHandler() 鍒嗙涓涓瓨鍦ㄧ殑浜嬩欢澶勭悊绋嬪簭銆 CComponent
disableBehavior() 绂佺敤涓涓檮鍔犺涓恒 CComponent
disableBehaviors() 绂佺敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
enableBehavior() 鍚敤涓涓檮鍔犺涓恒 CComponent
enableBehaviors() 鍚敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
evaluateExpression() 璁$畻涓涓狿HP琛ㄨ揪寮忥紝鎴栨牴鎹粍浠朵笂涓嬫枃鎵ц鍥炶皟銆 CComponent
getColumnCount() 杩斿洖缁撴灉闆嗙殑鍒楁暟銆 CDbDataReader
getEventHandlers() 杩斿洖涓涓簨浠剁殑闄勫姞澶勭悊绋嬪簭鍒楄〃銆 CComponent
getIsClosed() 鏄惁姝よ鍙栧櫒鍏抽棴銆 CDbDataReader
getRowCount() 杩斿洖缁撴灉闆嗙殑琛屾暟銆 CDbDataReader
hasEvent() 纭畾涓涓簨浠舵槸鍚﹀畾涔夈 CComponent
hasEventHandler() 妫鏌ヤ簨浠舵槸鍚︽湁闄勫姞鐨勫鐞嗙▼搴忋 CComponent
hasProperty() 纭畾灞炴ф槸鍚﹁瀹氫箟銆 CComponent
key() 杩斿洖褰撳墠琛岀殑绱㈠紩銆 CDbDataReader
next() 绉诲姩鍐呴儴鎸囬拡鍒颁笅涓琛. CDbDataReader
nextResult() 褰撹鍙栨壒澶勭悊璇彞鐨勭粨鏋滄椂锛岃鍙栧櫒鍓嶈繘鍒颁笅涓涓粨鏋溿 CDbDataReader
raiseEvent() 鍙戣捣涓涓簨浠躲 CComponent
read() 璇诲彇鍣ㄥ墠杩涘埌缁撴灉闆嗙殑涓嬩竴琛屻 CDbDataReader
readAll() 璇诲彇鏁翠釜缁撴灉闆嗗埌鏁扮粍銆 CDbDataReader
readColumn() 杩斿洖鏉ヨ嚜涓涓粨鏋滈泦鐨勪笅涓琛岀殑涓涓崟鍒椼 CDbDataReader
readObject() 杩斿洖涓涓~鍏呮湁涓嬩竴琛屾暟缁勭殑瀵硅薄銆 CDbDataReader
rewind() 閲嶇疆姝よ凯浠e櫒涓哄垵濮嬬姸鎬併 CDbDataReader
setFetchMode() 姝よ鍙ヨ缃粯璁よ鍙栨ā寮忋 CDbDataReader
valid() 杩斿洖鍦ㄥ綋鍓嶄綅缃槸鍚︽湁涓琛屾暟鎹 CDbDataReader

灞炴ц缁

columnCount 灞炴 鍙
public integer getColumnCount()

杩斿洖缁撴灉闆嗙殑鍒楁暟銆 娉ㄦ剰锛屽嵆浣垮湪璇诲彇鍣ㄤ腑娌℃湁琛岋紝杩欎粛灏嗙粰鍑烘纭殑鍒楁暟銆

isClosed 灞炴 鍙
public boolean getIsClosed()

鏄惁姝よ鍙栧櫒鍏抽棴銆

rowCount 灞炴 鍙
public integer getRowCount()

杩斿洖缁撴灉闆嗙殑琛屾暟銆 娉ㄦ剰锛屽ぇ澶氭暟DBMS鍙兘鏃犳硶缁欏嚭鏈夋剰涔夌殑璁℃暟銆 鍦ㄨ繖绉嶆儏鍐典笅锛屼娇鐢 "SELECT COUNT(*) FROM tableName" 鍘诲彇寰楄鏁般

鏂规硶璇︾粏

__construct() 鏂规硶
public void __construct(CDbCommand $command)
$command CDbCommand 姝ゅ懡浠ょ敓鎴愭煡璇㈢粨鏋
婧愮爜锛 framework/db/CDbDataReader.php#49 (鏄剧ず)
public function __construct(CDbCommand $command)
{
    
$this->_statement=$command->getPdoStatement();
    
$this->_statement->setFetchMode(PDO::FETCH_ASSOC);
}

鏋勯犲嚱鏁般

bindColumn() 鏂规硶
public void bindColumn(mixed $column, mixed &$value, integer $dataType=NULL)
$column mixed 鍒楃殑鏁扮洰 (1-indexed) 鎴栧垪鐨勫悕绉板湪缁撴灉闆嗕腑銆 濡傛灉浣跨敤鍒楀悕, 娉ㄦ剰鍒楀悕瑕佸拰姝ゅ垪鐨勫ぇ灏忓啓鍖归厤锛 鍜岄┍鍔ㄧ▼搴忚繑鍥炵殑涓鏍枫
$value mixed 缁戝畾鍒板垪鐨凱HP鍙橀噺鍚嶃
$dataType integer 鍙傛暟鐨勬暟鎹被鍨
婧愮爜锛 framework/db/CDbDataReader.php#66 (鏄剧ず)
public function bindColumn($column, &$value$dataType=null)
{
    if(
$dataType===null)
        
$this->_statement->bindColumn($column,$value);
    else
        
$this->_statement->bindColumn($column,$value,$dataType);
}

缁戝畾涓鍒楀埌涓涓狿HP鍙橀噺銆 褰撴暟鎹琚幏鍙栨椂锛岀浉搴旂殑鍒楀煎皢鐢ㄦ鍙橀噺璁剧疆銆 娉ㄦ剰锛岃鍙栨ā寮忓繀椤诲寘鍚 PDO::FETCH_BOUND銆

close() 鏂规硶
public void close()
婧愮爜锛 framework/db/CDbDataReader.php#143 (鏄剧ず)
public function close()
{
    
$this->_statement->closeCursor();
    
$this->_closed=true;
}

鍏抽棴姝よ鍙栧櫒銆 杩欏皢閲婃斁鍒嗛厤缁欐墽琛屾SQL璇彞鐨勮祫婧愩 姝ゆ柟娉曡皟鐢ㄥ悗灏濊瘯璇诲彇鏄笉鍙娴嬬殑銆

count() 鏂规硶
public integer count()
{return} integer 杩斿洖缁撴灉涓寘鍚殑琛屾暟銆
婧愮爜锛 framework/db/CDbDataReader.php#176 (鏄剧ず)
public function count()
{
    return 
$this->getRowCount();
}

杩斿洖缁撴灉闆嗙殑琛屾暟銆 杩欎釜鏂规硶瀵瑰彲鏁扮殑鎺ュ彛鑰岃█鏄繀椤荤殑銆 娉ㄦ剰锛屽ぇ澶氭暟DBMS鍙兘鏃犳硶缁欏嚭鏈夋剰涔夌殑璁℃暟銆 鍦ㄨ繖绉嶆儏鍐典笅锛屼娇鐢 "SELECT COUNT(*) FROM tableName" 鍘诲彇寰楄鏁般

current() 鏂规硶
public mixed current()
{return} mixed 杩斿洖褰撳墠琛屻
婧愮爜锛 framework/db/CDbDataReader.php#222 (鏄剧ず)
public function current()
{
    return 
$this->_row;
}

杩斿洖褰撳墠琛屻 杩欎釜鏂规硶瀵规帴鍙h凯浠e櫒鑰岃█鏄繀椤荤殑銆

getColumnCount() 鏂规硶
public integer getColumnCount()
{return} integer 杩斿洖缁撴灉闆嗙殑鍒楁暟銆
婧愮爜锛 framework/db/CDbDataReader.php#186 (鏄剧ず)
public function getColumnCount()
{
    return 
$this->_statement->columnCount();
}

杩斿洖缁撴灉闆嗙殑鍒楁暟銆 娉ㄦ剰锛屽嵆浣垮湪璇诲彇鍣ㄤ腑娌℃湁琛岋紝杩欎粛灏嗙粰鍑烘纭殑鍒楁暟銆

getIsClosed() 鏂规硶
public boolean getIsClosed()
{return} boolean 杩斿洖鏄惁姝よ鍙栧櫒鍏抽棴銆
婧愮爜锛 framework/db/CDbDataReader.php#153 (鏄剧ず)
public function getIsClosed()
{
    return 
$this->_closed;
}

鏄惁姝よ鍙栧櫒鍏抽棴銆

getRowCount() 鏂规硶
public integer getRowCount()
{return} integer 杩斿洖缁撴灉涓殑琛屾暟銆
婧愮爜锛 framework/db/CDbDataReader.php#164 (鏄剧ず)
public function getRowCount()
{
    return 
$this->_statement->rowCount();
}

杩斿洖缁撴灉闆嗙殑琛屾暟銆 娉ㄦ剰锛屽ぇ澶氭暟DBMS鍙兘鏃犳硶缁欏嚭鏈夋剰涔夌殑璁℃暟銆 鍦ㄨ繖绉嶆儏鍐典笅锛屼娇鐢 "SELECT COUNT(*) FROM tableName" 鍘诲彇寰楄鏁般

key() 鏂规硶
public integer key()
{return} integer 杩斿洖褰撳墠琛岀殑绱㈠紩銆
婧愮爜锛 framework/db/CDbDataReader.php#212 (鏄剧ず)
public function key()
{
    return 
$this->_index;
}

杩斿洖褰撳墠琛岀殑绱㈠紩銆 杩欎釜鏂规硶瀵规帴鍙h凯浠e櫒鑰岃█鏄繀椤荤殑銆

next() 鏂规硶
public void next()
婧愮爜锛 framework/db/CDbDataReader.php#231 (鏄剧ず)
public function next()
{
    
$this->_row=$this->_statement->fetch();
    
$this->_index++;
}

绉诲姩鍐呴儴鎸囬拡鍒颁笅涓琛. 杩欎釜鏂规硶瀵规帴鍙h凯浠e櫒鑰岃█鏄繀椤荤殑銆

nextResult() 鏂规硶
public boolean nextResult()
{return} boolean 褰撴垚鍔熸椂杩斿洖true锛屽け璐ユ椂杩斿洖false銆
婧愮爜锛 framework/db/CDbDataReader.php#131 (鏄剧ず)
public function nextResult()
{
    if((
$result=$this->_statement->nextRowset())!==false)
        
$this->_index=-1;
    return 
$result;
}

褰撹鍙栨壒澶勭悊璇彞鐨勭粨鏋滄椂锛岃鍙栧櫒鍓嶈繘鍒颁笅涓涓粨鏋溿 姝ゆ柟娉曚粎鍦ㄥ綋鏈夊涓粨鏋滈泦鏃舵湁鐢ㄣ 鏌ヨ杩斿洖涓嶆槸鎵鏈夌殑 DBMS 閮芥敮鎸佽繖涓姛鑳姐

read() 鏂规硶
public array|false read()
{return} array|false 杩斿洖褰撳墠琛岋紝濡傛灉娌℃湁鏇村鐨勫彲鐢ㄨ杩斿洖false銆
婧愮爜锛 framework/db/CDbDataReader.php#89 (鏄剧ず)
public function read()
{
    return 
$this->_statement->fetch();
}

璇诲彇鍣ㄥ墠杩涘埌缁撴灉闆嗙殑涓嬩竴琛屻

readAll() 鏂规硶
public array readAll()
{return} array 杩斿洖鏁扮粍缁撴灉闆 (姣忎竴涓暟缁勫厓绱犺〃绀轰竴琛屾暟鎹)銆 濡傛灉缁撴灉涓嶅寘鍚锛岃繑鍥炰竴涓┖鏁扮粍銆
婧愮爜锛 framework/db/CDbDataReader.php#120 (鏄剧ず)
public function readAll()
{
    return 
$this->_statement->fetchAll();
}

璇诲彇鏁翠釜缁撴灉闆嗗埌鏁扮粍銆

readColumn() 鏂规硶
public mixed|false readColumn(integer $columnIndex)
$columnIndex integer 浠0寮濮嬬殑鍒楃储寮
{return} mixed|false 褰撳墠琛岀殑鍒楋紝濡傛灉娌℃湁鏇村鍙敤琛岃繑鍥瀎alse銆
婧愮爜锛 framework/db/CDbDataReader.php#99 (鏄剧ず)
public function readColumn($columnIndex)
{
    return 
$this->_statement->fetchColumn($columnIndex);
}

杩斿洖鏉ヨ嚜涓涓粨鏋滈泦鐨勪笅涓琛岀殑涓涓崟鍒椼

readObject() 鏂规硶
public mixed|false readObject(string $className, array $fields)
$className string 瑕佸垱寤哄苟濉厖鐨勫璞$殑绫诲悕銆
$fields array 姝ゆ暟缁勪腑鐨勫厓绱犺浼犻掑埌鏋勯犲嚱鏁
{return} mixed|false 杩斿洖琚~鍏呭璞★紝濡傛灉娌℃湁鏇村鐨勫彲鐢ㄦ暟鎹鏃惰繑鍥瀎alse銆
婧愮爜锛 framework/db/CDbDataReader.php#110 (鏄剧ず)
public function readObject($className,$fields)
{
    return 
$this->_statement->fetchObject($className,$fields);
}

杩斿洖涓涓~鍏呮湁涓嬩竴琛屾暟缁勭殑瀵硅薄銆

rewind() 鏂规硶
public void rewind()
婧愮爜锛 framework/db/CDbDataReader.php#196 (鏄剧ず)
public function rewind()
{
    if(
$this->_index<0)
    {
        
$this->_row=$this->_statement->fetch();
        
$this->_index=0;
    }
    else
        throw new 
CDbException(Yii::t('yii','CDbDataReader cannot rewind. It is a forward-only reader.'));
}

閲嶇疆姝よ凯浠e櫒涓哄垵濮嬬姸鎬併 杩欎釜鏂规硶瀵规帴鍙h凯浠e櫒鑰岃█鏄繀椤荤殑銆

setFetchMode() 鏂规硶
public void setFetchMode(mixed $mode)
$mode mixed 璇诲彇妯″紡
婧愮爜锛 framework/db/CDbDataReader.php#79 (鏄剧ず)
public function setFetchMode($mode)
{
    
$params=func_get_args();
    
call_user_func_array(array($this->_statement,'setFetchMode'),$params);
}

姝よ鍙ヨ缃粯璁よ鍙栨ā寮忋

valid() 鏂规硶
public boolean valid()
{return} boolean 杩斿洖鍦ㄥ綋鍓嶄綅缃槸鍚︽湁涓琛屾暟鎹
婧愮爜锛 framework/db/CDbDataReader.php#242 (鏄剧ず)
public function valid()
{
    return 
$this->_row!==false;
}

杩斿洖鍦ㄥ綋鍓嶄綅缃槸鍚︽湁涓琛屾暟鎹 杩欎釜鏂规硶瀵规帴鍙h凯浠e櫒鑰岃█鏄繀椤荤殑銆

Copyright © 2008-2011 by Yii Software LLC
All Rights Reserved.