Verwendung von SQL Server-Identität, OLE DB-Vorlagen und OLE DB für ODBC in Visual C++

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Wenn Sie die OLE DB-Vorlagen mit einer SQL Server-Datenbank verwenden, ist es oft notwendig, Datensätze zu einer Tabelle, die eine Identitätsspalte enthält.

Abrufen einer Identitätsspalte einwandfrei mit OLE DB für ODBC-Anbieter, die ausgeliefert wird mit Visual C++ 6.0, msdasql.dll, erhöhen muss, dass das COLUMN_ENTRY_STATUS-Makro verwendet werden.
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Hinweis: Microsoft Visual C++ .NET 2002 und Microsoft Visual C++ .NET 2003 unterstützen sowohl das verwaltete Codemodell, das von Microsoft .NET Framework zur Verfügung gestellt wird als auch nicht verwaltete systemeigene Microsoft Windows-Codemodell. Die Informationen in diesem Artikel beziehen sich nur auf nicht verwalteten Visual C++-Code.Microsoft Visual C++ 2005 unterstützt beide das verwaltete Codemodell, das von Microsoft .NET Framework bereitgestellt wird und nicht verwalteten systemeigenen Microsoft Windows code Modell.

Informationsquellen

Sie finden Sie unter die folgenden Themen in MSDN online-Dokumentation:

  • VC++-Dokumentation für COLUMN_ENTRY_STATUS
  • OLE DB Thema mit dem Titel "Status" definiert "DBSTATUS_S_IGNORE"

Weitere Informationen

Der folgende Beispielcode demonstriert Verwendung dieses Makro beim Definieren einer Zuordnung Accessor mit Visual C++ 6.0 OLE DB-Consumervorlagen:

Beispielcode

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

   ...
   };
				
Der Code einen neuen Datensatz zur Tabelle hinzufügen würde die folgenden ähneln:
   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();
				

Informationen zu diesem Artikel

Artikel-ID: 194678
Letzte Überarbeitung: Samstag, 22. Februar 2014
Die Informationen in diesem Artikel beziehen sich auf:: 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
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 194678
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

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.