Sdílet prostřednictvím


CRowset::Insert

Vytvoří a inicializuje nový řádek pomocí dat z přistupujícího objektu.

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

Parametry

  • nAccessor
    [v] Číslo přistupujícího objektu, který chcete použít pro vkládání dat

  • bGetHRow
    [v] Označuje, zda je načíst popisovač vloženého řádku.

Vrácená hodnota

Standardní HRESULT.

Poznámky

Tato metoda vyžaduje volitelné rozhraní IRowsetChange, který nemusí být podporovány ve všech poskytovatelů; Pokud jde o případ, vrátí metoda E_NOINTERFACE.Je také nutné nastavit DBPROP_IRowsetChange k VARIANT_TRUE před volací otevřených na tabulce nebo příkaz obsahující sadu řádků.

Vložení může selhat, pokud jeden nebo více sloupců není zapisovatelný.Abyste toto opravili, změňte vaši mapu ukazatelů.

Příklad

Následující příklad ukazuje, jak přístup ke zdroji dat prostřednictvím sady řádků a potom vložte řetězec pomocí tabulky v této sadě řádků.

Vytvoření třídy tabulky můžete vložit nový objekt knihovny ATL do projektu.Například projekt, v podokně pracovního prostoru klepněte pravým tlačítkem myši a vyberte Nový objekt knihovny ATL.Z Přístup k datům kategorii, vyberte příjemce.Vytvořit objekt typu příjemce Tabulka. (Výběr Tabulka vytvoří sadu řádků přímo z tabulky; Výběr příkaz vytvoří sadu řádků, prostřednictvím příkazu SQL.) Vyberte zdroj dat, určující tabulku přes který přístup k tomuto zdroji dat.Při volání objektu příjemce CCustomerTable, by pak implementovat vložení kódu takto:

// 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);
}

Požadavky

Záhlaví: také atldbcli.h

Viz také

Referenční dokumentace

CRowset – třída