Sdílet prostřednictvím


CCommand::Close

Vydání sady řádků přístupový objekt přidruženého k příkazu.

void Close( );

Poznámky

Příkaz používá sadu řádků přístupový objekt set výsledek a (volitelně) přístup k parametru (na rozdíl od tabulky, které nepodporují parametry a nepotřebují přístup k parametru).

Po spuštění příkazu by obě volání Close a ReleaseCommand po příkazu.

Pokud chcete opakovaně spouštět stejný příkaz, by každý přístupový objekt set výsledek uvolnění voláním Close před voláním Execute.Na konci série měla přístup k parametru uvolnění voláním ReleaseCommand.Jiný běžný scénář je volání uložené procedury, která má výstupní parametry.Mnoho poskytovatelů (například OLE DB provider for SQL Server) na výstupní parametr hodnoty nebudou přístupné až do zavření přístupový objekt set výsledek.Volání Close vrácených řádků a přístupový objekt set výsledek, ale není parametr přístupový objekt uzavřete tedy umožňují načíst hodnoty výstupní parametr.

Příklad

Následující příklad ukazuje, jak lze volat Close a ReleaseCommand po spuštění příkazu stejné opakovaně.

void DoCCommandTest()
{
   HRESULT hr;

   hr = CoInitialize(NULL);

   CCustomer rs;           // Your CCommand-derived class
   rs.m_BillingID = 6611;  // Open billing ID 6611
   hr = rs.OpenAll();      // (Open also executes the command)
   hr = rs.MoveFirst();    // Move to the first row and print it

   _tprintf_s(_T("First name: %s, Last Name: %s, Customer ID: %d, Postal Code: %s\n"),
      rs.m_ContactFirstName, rs.m_L_Name, rs.m_CustomerID, rs.m_PostalCode);

   // Close the first command execution
   rs.Close();

   rs.m_BillingID = 3333;     // Open billing ID 3333 (a new customer)
   hr = rs.Open();            // (Open also executes the command)
   hr = rs.MoveFirst();       // Move to the first row and print it

   _tprintf_s(_T("First name: %s, Last Name: %s, Customer ID: %d, Postal Code: %s\n"),
      rs.m_ContactFirstName, rs.m_L_Name, rs.m_CustomerID, rs.m_PostalCode);

   // Close the second command execution;
   // Instead of the two following lines
   // you could simply call rs.CloseAll()
   // (a wizard-generated method):
   rs.Close();
   rs.ReleaseCommand();

   CoUninitialize();
}

Požadavky

Záhlaví: atldbcli.h

Viz také

Referenční dokumentace

Třída CCommand

CCommand::ReleaseCommand