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

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

Эта статья на английском языке:194678
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
Примечание.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 кода модели.
Аннотация
При использовании шаблонов OLE DB с базой данных SQL Server, часто бывает необходимо добавить записи в таблицу, содержащую столбец идентификаторов.

Получение столбец идентификаторов, чтобы должным образом с помощью OLE DB для ODBC поставщик, который поставляется в комплекте с Visual C++ 6.0, Msdasql.dll, требует использования макроса COLUMN_ENTRY_STATUS.
Дополнительная информация
В следующем примере кода демонстрируется использование этого макроса при определении карты доступа с помощью 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();				
Ссылки
Обратитесь к следующим разделам документации MSDN:

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

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 194678 — последний просмотр: 02/23/2014 01:11:30 — редакция: 2.0

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

  • kbnosurvey kbarchive kbconsumer kbdatabase kbhowto kbprovider kbmt KB194678 KbMtru
Отзывы и предложения
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)