Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Anuluje oświadczenie. Oznacza to, że wszelkie oczekujące wyniki oświadczenia są odrzucane. Po wywołaniu tej funkcji polecenie można wykonać ponownie, jeśli zostało przygotowane z sqlsrv_prepare. Wywoływanie tej funkcji nie jest konieczne, jeśli wszystkie wyniki związane ze zdaniem zostały już wykorzystane.
Syntax
sqlsrv_cancel( resource $stmt)
Parametry
$stmt: Oświadczenie o anulowaniu.
Wartość zwracana
Wartość boolowska: prawdziwa , jeśli operacja zakończyła się sukcesem. W przeciwnym razie – fałsz.
Example
Poniższy przykład kieruje bazę danych AdventureWorks do wykonania zapytania, a następnie konsumuje i liczy wyniki, aż zmienna $salesTotal osiągnie określoną wartość. Pozostałe wyniki zapytań są następnie odrzucane. Przykład zakłada, że SQL Server i baza danych AdventureWorks są zainstalowane na komputerze lokalnym. Wszystkie dane wyjściowe są zapisywane w konsoli, gdy przykład jest uruchamiany z wiersza polecenia.
<?php
/* Connect to the local server using Windows Authentication and
specify the AdventureWorks database as the database in use. */
$serverName = "(local)";
$connectionInfo = array( "Database"=>"AdventureWorks");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
echo "Could not connect.\n";
die( print_r( sqlsrv_errors(), true));
}
/* Prepare and execute the query. */
$tsql = "SELECT OrderQty, UnitPrice FROM Sales.SalesOrderDetail";
$stmt = sqlsrv_prepare( $conn, $tsql);
if( $stmt === false )
{
echo "Error in statement preparation.\n";
die( print_r( sqlsrv_errors(), true));
}
if( sqlsrv_execute( $stmt ) === false)
{
echo "Error in statement execution.\n";
die( print_r( sqlsrv_errors(), true));
}
/* Initialize tracking variables. */
$salesTotal = 0;
$count = 0;
/* Count and display the number of sales that produce revenue
of $100,000. */
while( ($row = sqlsrv_fetch_array( $stmt)) && $salesTotal <=100000)
{
$qty = $row[0];
$price = $row[1];
$salesTotal += ( $price * $qty);
$count++;
}
echo "$count sales accounted for the first $$salesTotal in revenue.\n";
/* Cancel the pending results. The statement can be reused. */
sqlsrv_cancel( $stmt);
?>
Comments
Oświadczenie przygotowane i wykonane z użyciem kombinacji sqlsrv_prepare i sqlsrv_execute może być ponownie wykonane sqlsrv_execute po wywołaniu sqlsrv_cancel. Instrukcje wykonane z sqlsrv_query nie może być ponownie wykonane po wywołaniu sqlsrv_cancel.