Использование идентификаторов SQL Server, шаблоны OLE DB и OLE DB для ODBC в Visual C++

Переводы статьи Переводы статьи
При использовании шаблонов OLE DB с базой данных SQL Server, часто бывает необходимо добавить записи в таблицу, содержащую столбец идентификаторов.

Получение столбец идентификаторов, чтобы должным образом с помощью OLE DB для ODBC поставщик, который поставляется в комплекте с Visual C++ 6.0, Msdasql.dll, требует использования макроса COLUMN_ENTRY_STATUS.
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
Примечание.Microsoft Visual C++ .NET 2002 и Microsoft Visual C++ .NET 2003 поддерживают модель управляемого кода, который поставляется с Microsoft .NET Framework и неуправляемым собственной модели кода Microsoft Windows. Данные этой статьи относятся только к нерегулируемому программному коду Visual C++..Microsoft Visual C++ 2005 поддерживает оба модель управляемого кода, который поставляется с Microsoft .NET Framework и неуправляемым собственного Microsoft Windows кода модели.

Ссылки

Обратитесь к следующим разделам документации MSDN:

  • VC ++ документации COLUMN_ENTRY_STATUS
  • OLE DB раздел под названием «Состояние» определяет "DBSTATUS_S_IGNORE"

Дополнительные сведения

В следующем примере кода демонстрируется использование этого макроса при определении карты доступа с помощью Visual C++ 6.0 шаблонов потребителей OLE DB.

Пример программы

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

   ...
   };
				
Для добавления новой записи в таблице код будет выглядеть следующим образом:
   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();
				

Об этой статье

Код статьи: 194678
Последний отзыв: 23 февраля 2014 г.
Информация в данной статье относится к следующим продуктам.: Microsoft Visual C++ 2005 Express Edition, Microsoft Visual C++ .NET 2003 Standard Edition, Microsoft Visual C++ .NET 2002 Standard Edition, Microsoft Data Access Components 2.5
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:194678

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.