CRecordset::AddNew

Виртуальный void AddNew ( );
бросить ( CDBException );

Примечания

Вызовите эту функцию-член подготовить для добавления новой записи в таблицу. Необходимо вызвать функцию-член Requery для просмотра вновь добавленные записи. Рекорд поля, первоначально равно Null. (В терминологии баз данных, значение Null означает «никакого значения» и не является таким же, как NULL в C++). Для завершения операции, необходимо вызвать функцию-член Update . Обновление сохраняет изменения в источнике данных.

Примечаниеnbsp;  При реализации групповой выборки строк, нельзя вызвать метод Add&New. Это приведет к неудачной утверждение. Хотя класс CRecordset не поддерживает механизм обновления массовая строк данных, вы можете написать свои собственные функции, используя функцию интерфейса API ODBC SQLSetPos. В качестве примера того, как это сделать, см. пример DBFETCH. Дополнительные сведения о групповой выборки строк, найти в статье набор записей: выборка записей (ODBC) в Руководстве по Visual C++ программист.

Метод AddNew подготавливает новая пустая запись, используя элементам данных полей. После вызова AddNew, установите нужные значения в элементы данных полей набора записей. (Не нужно вызвать функцию-член редактирования для этой цели; использовать редактировать только для существующих записей.) При вызове впоследствии Update, изменены значения в поля данных членов сохраняются на источнике данных.

Осторожно   Если вы перечисляете к новой записи перед вызовом Update, новый рекорд потерян, предупреждение не предоставляется и.

Если источник данных поддерживает транзакции, вы можете сделать ваш AddNew вызвать частью транзакции. Для получения дополнительных сведений о транзакциях содержится класса CDatabase. Обратите внимание, что вам следует вызвать CDatabase::BeginTrans перед вызовом AddNew.

Важно   Для динамических подмножеств данных новые записи добавляются в набор записей как последней записи. Добавлены записи не добавляются в моментальных снимках, необходимо вызвать Requery для обновления записей.

Это незаконно для вызова AddNew для набора записей, чьи функции-члена Open не был вызван. CDBException вызывается при вызове AddNew для записей, который не может быть добавлен к. Можно определить, является ли набор записей обновляемым, вызвав CanAppend.

Для получения дополнительных сведений обратитесь к следующим статьям в Руководстве Visual C++ программист: набор записей: как наборы записей обновления записей (ODBC), набор записей: Добавление, обновление и удаление записей (ODBC), и Транзакций (ODBC).

Пример

В статье транзакции: выполнение транзакции в наборе записей (ODBC) в Руководстве по Visual C++ программист.

Обзор CRecordsetЧлены класса | Иерархическая схема

См. также CRecordset::Edit, CRecordset::Delete, CRecordset::Update, CRecordset::Requery, CDatabase::BeginTrans, CDBException

Index