之前寫過了
如何通過 php 取得 mysql procedure 結果
,不過按照那種方法還不能適應多結果集的情況。所謂的多結果集,就是指在儲存過程中,有多次 select 查詢,行程多個結果集。解決的辦法還是用 mysqli 提供的函式 mysqli_multi_query() 來做,如下例
$mysqli = new mysqli("localhost", "root", "", "test");本例可以在php的標準手冊mysqli章節中找到,我只是稍作修改而已。if (mysqli_connect_errno())
$query = "call yejr();";
$mysqli->multi_query($query);
while($mysqli->more_results())
$result->close();
} $mysqli->next_result();
}
方法二: 用 pdo 來取得
try儲存過程例子如下:} while ($stmt->nextrowset());
$dbh = null;
} catch (pdoexception $e)
create procedure `yejr`()begin
select * from yejr limit 1;
select * from yejr limit 2;
end;
儲存過程返回多個結果集
對於查詢試的儲存過程,一般會返回乙個結果集,這個時候,使用正常的查詢操作即可得到結果集,可是,面對下面的一次返回多個結果集的過程,又該如何通過jdbc獲取呢?其實,只需要多加一步操作就可以了。jdbc的preparedstatement可以返回多個結果集,但是resultset一次卻只能接受乙個結果...
LINQ TO SQL 如何接收多個結果集
如何我們需要在linq to sql中呼叫乙個儲存過程,它如果會返回多個結果集,這可能會稍微麻煩一點。下面來看乙個範例 儲存過程 將該儲存過程拖拽到linq to sql的設計器上 我們看看設計器幫我們生成了什麼方法 它生成了乙個方法,同時還生成了乙個特定的型別 multiresultquery 個...
通過DataReader獲取多個結果集
我們知道,ado.net的datareader提供一種從資料庫讀取行的只進流的方式。通常情況下,我們都是針對乙個結果集進行處理。其實通過datareader的nextresult方法,我們可以批處理t sql,也就是可以獲取處理兩個或者多個結果集。下面通過乙個簡單的示例,來簡單說明一下這個功能。1 ...