CRowset::Insert

Tworzy i inicjuje nowego wiersza przy użyciu danych z akcesor.

HRESULT Insert( 
   int nAccessor = 0, 
   bool bGetHRow = false  
) throw( );

Parametry

  • nAccessor
    [w] Liczba akcesor służących do wstawiania danych.

  • bGetHRow
    [w] Wskazuje, czy źródło jest dojście do wstawionego wiersza.

Wartość zwracana

Standard HRESULT.

Uwagi

Ta metoda wymaga opcjonalnego interfejs IRowsetChange, które mogą nie być obsługiwane na wszystkich dostawców; Jeśli tak jest, metoda zwraca E_NOINTERFACE.Należy także ustawić DBPROP_IRowsetChange do VARIANT_TRUE przed wywołaniem funkcji Otwórz w tabeli lub zestawu wierszy zawierających polecenia.

Wstaw może się nie powieść, jeśli jedna lub więcej kolumn nie jest zapisywalny.Modyfikowanie mapy kursor, aby rozwiązać ten problem.

Przykład

Poniższy przykład pokazuje, jak dostęp do źródła danych za pomocą zestawu wierszy, a następnie Wstaw ciąg składający się z tabeli w tym zestawie wierszy.

Najpierw należy utworzyć klasę tabeli przez włożenie nowego obiektu ATL do projektu.Na przykład kliknij prawym przyciskiem myszy w okienku obszaru roboczego projektu i wybierz Nowego obiektu ATL.Od Dostęp do danych kategorii, zaznacz konsumenta.Utwórz obiekt konsumenta typu tabeli. (Zaznaczenie tabeli tworzy zestaw wierszy bezpośrednio z tabeli; Wybieranie polecenia tworzy zestaw wierszy za pomocą polecenia SQL.) Wybierz źródło danych, określając tabeli, za pomocą którego dostępu do tego źródła danych.Jeśli zadzwonisz do obiektu konsumenta CCustomerTable, następnie wdrożenia kodu wstawiania w następujący sposób:

// Access the rowset using the wizard-generated class, CCustomerTable
CCustomerTable rs;           // Your CTable-derived class 

// Insert a customer 
// Note that for fixed-length fields such as billing ID it isn't necessary 
// to set the length
rs.m_BillingID = 5002;
rs.m_dwBillingIDStatus = DBSTATUS_S_OK;

_tcscpy_s(rs.m_ContactFirstName, sizeof(rs.m_ContactFirstName) / sizeof(TCHAR), 
   _T("Malcolm"));
rs.m_dwContactFirstNameLength = 7;
rs.m_dwContactFirstNameStatus = DBSTATUS_S_OK;

_tcscpy_s(rs.m_L_Name, sizeof(rs.m_L_Name) / sizeof(TCHAR), _T("Reynolds"));
rs.m_dwL_NameLength = 8;
rs.m_dwContactFirstNameStatus = DBSTATUS_S_OK;

rs.m_CustomerID = 2005;
rs.m_dwCustomerIDStatus = DBSTATUS_S_OK;

_tcscpy_s(rs.m_PostalCode, sizeof(rs.m_PostalCode) / sizeof(TCHAR), 
   _T("34213-4444"));
rs.m_dwPostalCodeLength = 10;
rs.m_dwPostalCodeStatus = DBSTATUS_S_OK;

HRESULT hr = rs.Insert();
if (FAILED(hr))
{
   ATLTRACE(_T("Insert failed: 0x%X\n"), hr);
}

Wymagania

Nagłówek: atldbcli.h

Zobacz też

Informacje

Klasa CRowset