L'utilisation de SQL Server identité, les modèles OLE DB et OLE DB pour ODBC dans Visual C++

Traductions disponibles Traductions disponibles
Lorsque vous utilisez les modèles OLE DB avec une base de données SQL Server, il est souvent nécessaire d'ajouter des enregistrements à une table qui contient une colonne d'identité.

Obtention d'une colonne d'identité incrémentation de correctement le fournisseur OLE DB pour ODBC livré avec Visual C++ 6.0, Msdasql.dll, exige que la macro COLUMN_ENTRY_STATUS soit utilisée.
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Remarque Microsoft Visual C++ .NET 2002 et Microsoft Visual C++ .NET 2003 prennent en charge le le modèle de code managé fourni par Microsoft .NET Framework et le modèle de code Microsoft Windows natif non managé. Les informations contenues dans cet article s'appliquent uniquement au code de Visual C++ non managé.Microsoft Visual C++ 2005 prend en charge le modèle de code géré qui est fourni par Microsoft .NET Framework et modèle de code non managé natif Microsoft Windows.

Références

Consultez les rubriques suivantes dans la documentation en ligne MSDN :

  • Documentation VC ++ pour COLUMN_ENTRY_STATUS
  • OLE DB rubrique intitulée «État» définit "DBSTATUS_S_IGNORE"

Pour plus d'informations

L'exemple de code suivant montre comment utiliser cette macro lorsque vous définissez un mappage d'accesseur avec Visual C++ 6.0 modèles du consommateur OLE DB :

Exemple de code

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

   ...
   };
				
Le code pour ajouter un nouvel enregistrement à la table ressemble à ce qui suit :
   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();
				

À propos de cet article

Numéro d'article: 194678
Dernière mise à jour: samedi 22 février 2014
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):: Microsoft Visual C++ 2005 Express Edition, Microsoft Visual C++ .NET 2003 Initiation, Microsoft Visual C++ .NET 2002 Initiation, Microsoft Visual C++ 6.0 Édition Entreprise, Microsoft Visual C++ 6.0 Édition Professionnelle, Microsoft Visual C++, 32-bit Learning Edition 6.0, Microsoft Data Access Components 2.5
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 194678
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Vous souhaitez formuler des commentaires sur cet article ?
 

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.