Добавляю запись в таблицу (вызывая метод InsertRow интерфеса IRowsetChange). Одно из полей таблицы — identity (MS SQL Server). В аксессоре в соответствующем BIND-элементе для этого поля я прописываю "использовать значение по умолчанию". Запись вставляется нормально. Но мне нужно получить значение identity-поля вставленной записи. Идентифицировать добавленную запись по значению других полей невозможно. Взять последнюю (с макс. значением ID) запись тоже нельзя. Для работы с записями команды использовать запрещено — только интерфейсы IRowset/IRowsetChange. Есть ли способ узнать значение поля ID добавленной записи при указанных ограничениях, работающий: (1) для SQL-сервера, (2) для любого OLEDB провайдера источника, поддерживающего serial-поля? А как указанная проблема решается в ADO?
Пока.
Андрей.
Re: [OLE DB] Как определить ID добавленной записи?
Здравствуйте Винокуров Андрей, Вы писали:
ВА>Всем привет.
ВА>Добавляю запись в таблицу (вызывая метод InsertRow интерфеса IRowsetChange). Одно из полей таблицы — identity (MS SQL Server). В аксессоре в соответствующем BIND-элементе для этого поля я прописываю "использовать значение по умолчанию". Запись вставляется нормально. Но мне нужно получить значение identity-поля вставленной записи. Идентифицировать добавленную запись по значению других полей невозможно. Взять последнюю (с макс. значением ID) запись тоже нельзя. Для работы с записями команды использовать запрещено — только интерфейсы IRowset/IRowsetChange. Есть ли способ узнать значение поля ID добавленной записи при указанных ограничениях, работающий: (1) для SQL-сервера, (2) для любого OLEDB провайдера источника, поддерживающего serial-поля? А как указанная проблема решается в ADO?
ВА>Пока. ВА>Андрей. ВА>
Нужно использовать свойство набора рядов DBPROP_SERVERDATAONINSERT
Vaso
Re[2]: [OLE DB] Как определить ID добавленной записи?
От:
Аноним
Дата:
22.05.02 12:12
Оценка:
Здравствуйте Vaso, Вы писали:
V>Нужно использовать свойство набора рядов DBPROP_SERVERDATAONINSERT