Compartilhar via


CRowset::Insert

Cria e inicializa uma nova linha usando os dados de o acessador.

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

Parâmetros

  • nAccessor
    [in] O número de acessador para inserir os dados.

  • bGetHRow
    [in] Indica se o identificador de linha inserida é recuperado.

Valor de retorno

Um padrão HRESULT.

Comentários

Este método requer a interface opcional IRowsetChange, que pode não ser suportada em todos os provedores; se for esse o caso, o método retornará E_NOINTERFACE.Você também deve definir DBPROP_IRowsetChange to VARIANT_TRUE antes de ligar em aberto na tabela ou comando que contém o conjunto de linhas.

Inserção pode falhar se uma ou mais colunas não é gravável.Modifique o MAP de cursor para corrigir o problema.

Exemplo

O exemplo a seguir mostra como acesso um dados por meio de um conjunto de linhas de origem e insira uma seqüência de caracteres usando uma tabela em que conjunto de linhas.

Primeiro, crie uma classe tabela inserindo um novo objeto ATL no seu projeto.Por exemplo, clicar com o botão direito do mouse o projeto no painel de espaço de trabalho e selecionar Novo objeto do ATL.From a Acesso a dados categoria, selecionar Consumidor.Criar um objeto de consumidor do tipo Tabela.(Seleção de Tabela cria um conjunto de linhas diretamente a partir da tabela; selecionando Comando cria um conjunto de registros através de um comando SQL.) selecionar uma fonte de dados, especificando uma tabela por meio do qual a acesso nessa fonte de dados.Se você telefonar de objeto do consumidorCCustomerTable, você poderia, em seguida, implementar seu código de inserção da seguinte maneira:

// 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

Cabeçalho: atldbcli.h

Consulte também

Referência

Classe CRowset

Outros recursos

CRowset membros