CRowset::Insert
Vytvoří a inicializuje nový řádek pomocí dat ze přístupový objekt.
HRESULT Insert(
int nAccessor = 0,
bool bGetHRow = false
) throw( );
Parametry
nAccessor
[v] Přístupový objekt pro vkládání dat číslo.bGetHRow
[v] Označuje, zda je načíst popisovač pro vložený řádek.
Vrácená hodnota
Standard HRESULT.
Poznámky
Tato metoda vyžaduje volitelné rozhraní IRowsetChange, které nemusí být podporovány na všech poskytovatelů; Pokud jde o případ, vrátí metoda E_NOINTERFACE.Musíte také nastavit DBPROP_IRowsetChange na VARIANT_TRUE před voláním otevřených na tabulce nebo příkaz obsahující sadu řádků.
Vložit 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 způsob přístupu ke zdroji dat prostřednictvím sady řádků a pak vložte řetězec pomocí této sady řádků v tabulce.
Nejprve vytvořte třídu tabulku vložením nového objektu ATL do projektu.Například klepněte pravým tlačítkem myši v podokně pracovního prostoru projektu a vyberte Nový objekt ATL.Z Přístup K datům kategorie vyberte spotřebitele.Vytvořit objekt typu spotřebitele tabulky.(Výběr tabulky vytvoří sadu řádků přímo z tabulky; Výběr příkaz vytvoří sadu řádků pomocí příkazu SQL.) Vyberte zdroj dat, určení tabulky, které pro přístup k tomuto zdroji dat.Pokud zavoláte objekt spotřebitele 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í: atldbcli.h