Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Avbokar ett kontoutdrag. Detta innebär att eventuella väntande resultat för uttalandet kasseras. Efter att denna funktion anropats kan satsen köras om den har förberett med sqlsrv_prepare. Att anropa denna funktion är inte nödvändigt om alla resultat som är kopplade till satsen har konsumerats.
Syntax
sqlsrv_cancel( resource $stmt)
Parameters
$stmt: Uttalandet ska avbrytas.
Returvärde
Ett booleskt värde: sant om operationen lyckades. Annars falskt.
Example
Följande exempel riktar sig till AdventureWorks-databasen för att köra en fråga, och konsumerar och räknar resultaten tills variabeln $salesTotal når ett angivet antal. De återstående frågeresultaten kasseras sedan. Exemplet antar att SQL Server och AdventureWorks-databasen är installerade på den lokala datorn. Alla utdata skrivs till konsolen när exemplet körs från kommandoraden.
<?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
En sats som förbereds och utförs med kombinationen av sqlsrv_prepare och sqlsrv_execute kan köras om med sqlsrv_execute efter att sqlsrv_cancel anropats. Ett sats som körs med sqlsrv_query kan inte exekveras igen efter att sqlsrv_cancel anropats.