Udostępnij za pośrednictwem


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 pobierane jest dojście do wstawionego wiersza.

Wartość zwracana

Standard HRESULT.

Uwagi

Ta metoda wymaga interfejsu opcjonalne IRowsetChange, który może 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ływaniem 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 uzyskać dostęp do źródła danych za pomocą zestawu wierszy, a następnie wstawić ciąg znaków, w tym wierszy przy użyciu tabeli.

Najpierw należy utworzyć klasę tabeli przez wstawienie nowego obiektu ATL do projektu.Na przykład, kliknij prawym przyciskiem myszy w okienku obszaru roboczego projektu i wybierz Nowy obiekt ATL.Z Dostępu do danych kategorii, zaznacz konsumentów.Tworzenie obiektu konsumenta typu tabeli.(Zaznaczenie tabeli tworzy zestawu wierszy bezpośrednio z tabeli; Zaznaczanie polecenia tworzy wierszy za pomocą polecenia SQL.) Wybierz źródło danych, określając tabeli, przez które ma dostęp do tego źródła danych.Jeśli wywołanie obiektu konsumenta CCustomerTable, następnie czy zaimplementować wstawiania kodu 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