Compartir a través de


CRowset::Insert

Crea e inicializa una nueva fila con datos de descriptor de acceso.

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

Parámetros

  • nAccessor
    [in] número del descriptor de acceso para insertar datos.

  • bGetHRow
    [in] Indica si el identificador para la fila insertada se recupera.

Valor devuelto

HRESULTestándar.

Comentarios

Este método requiere la interfaz opcional IRowsetChange, que no se podría admitir en todos los proveedores; si es así, el método devuelve E_NOINTERFACE.También debe establecer DBPROP_IRowsetChange a VARIANT_TRUE antes de llamar a Abrir en la tabla o el comando que contiene el conjunto de filas.

Insert podría producir errores si una o más columnas no son programables.Modifique el mapa de cursores para corregirlo.

Ejemplo

El ejemplo siguiente se muestra cómo obtener acceso a un origen de datos a través de un conjunto de filas y luego insertar una cadena mediante una tabla en ese conjunto de filas.

Primero, cree una clase de tabla insertando un objeto New ATL en el proyecto.Por ejemplo, haga clic con el botón secundario en el panel del área de trabajo y New ATL Objectseleccione.De la categoría de Data Access , seleccione Consumer.Cree un objeto consumidor de Tableescrito.(Seleccionar Table crea un conjunto de filas directamente de la tabla; seleccione Command crea un conjunto de filas a través de un comando SQL). Seleccione un origen de datos, especificando una tabla con el que para tener acceso a ese origen de datos.Si llama al objeto CCustomerTableconsumidor, después se aplicaría el código de inserción como sigue:

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

Requisitos

Header: atldbcli.h

Vea también

Referencia

CRowset (Clase)