L'utilizzo di identità di SQL Server, modelli OLE DB e OLE DB per ODBC in Visual c ++

Traduzione articoli Traduzione articoli
Quando si utilizzano i modelli OLE DB con un database SQL Server, è spesso necessario aggiungere record a una tabella contenente una colonna identity.

Recupero di una colonna identity per incrementare correttamente con la OLE DB per il provider ODBC fornito con Visual c ++ 6.0, MSDASQL.dll, è necessario utilizzare la macro COLUMN_ENTRY_STATUS.
Questo articolo è stato archiviato. L?articolo, quindi, viene offerto ?così come è? e non verrà più aggiornato.
Nota Microsoft Visual c ++ .NET 2002 e Microsoft Visual c ++ .NET 2003 supportano sia il modello di codice gestito fornito da Microsoft .NET Framework che il modello di codice non gestito nativo di Microsoft Windows. Le informazioni contenute in questo articolo si applicano solo al codice Visual C++ non gestito.Microsoft Visual c ++ 2005 supporta sia il modello di codice gestito fornito con Microsoft .NET Framework e del modello di codice non gestito nativo Microsoft Windows.

Riferimenti

Vedere i seguenti argomenti nella documentazione in linea di MSDN:

  • Documentazione di VC ++ per COLUMN_ENTRY_STATUS
  • OLE DB argomento intitolato "Stato" definisce "DBSTATUS_S_IGNORE"

Per ulteriori informazioni

Nell'esempio di codice riportato di seguito illustri l'uso in questa macro quando si definisce una mappa di funzione di accesso con Visual c ++ 6.0 modelli consumer OLE DB:

Codice di esempio

   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()

   ...
   };
				
Il codice per aggiungere un nuovo record alla tabella sarebbe simile al seguente:
   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();
				

Informazioni sull?articolo

Identificativo articolo: 194678
Ultima revisione: sabato 22 febbraio 2014
Le informazioni in questo articolo si applicano 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
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 194678
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

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.