Como usar identidade SQL Server, OLE DB modelos e OLE DB para ODBC no Visual C++

Traduções deste artigo Traduções deste artigo
Ao usar os modelos OLE DB com um banco de dados SQL Server, geralmente é necessário adicionar registros a uma tabela que contém uma coluna de identidade.

Obter uma coluna de identidade para incrementar corretamente com o OLE DB para provedor ODBC que é fornecido com o Visual C++ 6.0, MSDASQL.dll, exige que a macro COLUMN_ENTRY_STATUS seja usado.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Observação Microsoft Visual C++ .NET 2002 e Microsoft Visual C++ .NET 2003 oferecem suporte o modelo de código gerenciado fornecido pelo Microsoft .NET Framework e o modelo de código do Windows de Microsoft nativo não gerenciado. As informações neste artigo se aplicam somente ao código do Visual C++ não gerenciado.Microsoft Visual C++ 2005 oferece suporte a dois o modelo de código gerenciado que é fornecido pelo Microsoft .NET Framework e modelo de código não gerenciado Microsoft Windows nativo.

Referências

Por favor consulte os tópicos a seguir na documentação online do MSDN:

  • Documentação do VC ++ para COLUMN_ENTRY_STATUS
  • OLE DB tópico intitulado "Status" define "DBSTATUS_S_IGNORE"

Para obter mais informações

O código de exemplo a seguir demonstra como usar essa macro ao definir um mapa de acessador com Visual C++ 6.0 OLE DB consumidor modelos:

Código de exemplo

   class CMyTableAccessor
   {
   public:
      LONG m_id;          // This is an identity column
      DWORD m_id_status;  // Status variable for id column
      TCHAR m_name[11];

   BEGIN_COLUMN_MAP(CMyTableAccessor)
     COLUMN_ENTRY_STATUS(1, m_id, m_id_status)
     COLUMN_ENTRY(2, m_name)
   END_COLUMN_MAP()

   ...
   };
				
O código para adicionar um novo registro à tabela poderia se parecer com o seguinte:
   CMyTable rs;

   rs.Open();
   rs.ClearRecord();  //Null out current structure

   strcpy(rs.m_name , "New Name");
   rs.m_id_status = DBSTATUS_S_IGNORE;  //Tells the provider to ignore this
                                        // column when updating.

   rs.Insert();  // Insert new record into the table letting server update
                // of the identity column.
   rs.Close();
				

Sobre este artigo

ID do artigo: 194678
Última revisão: domingo, 23 de fevereiro de 2014
A informação contida neste artigo aplica-se a:: Microsoft Visual C++ 2005 Express Edition, Microsoft Visual C++ .NET 2003 Standard Edition, Microsoft Visual C++ .NET 2002 Standard Edition, Microsoft Visual C++ 6.0 Enterprise Edition, Microsoft Visual C++ 6.0 Professional Edition, Microsoft Visual C++, 32-bit Learning Edition 6.0, Microsoft Data Access Components 2.5
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 194678
Você gostaria de ter comentários sobre este artigo?
 

Get more support from smallbusiness.support.microsoft.com

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.