ADODB: разница между методами ADDNEW и UPDATE? - PullRequest
2 голосов

Я обновляю таблицу в MySQL, используя ADODB

я добавляю новые записи в таблицу я должен использовать addnew или update?

Ответы [ 2 ]

6 голосов
/ 13 мая 2010

Нет никакой разницы, вы всегда будете использовать .Update для фиксации изменений от того места, на которое указывает текущий курсор. AddNew выделяет новую строку в конце набора записей ADODB

Набор записей ADODB - это набор данных на основе курсора. Когда вы загружаете строки в набор записей, курсор автоматически попадает на первую строку, поэтому, что бы вы ни делали в столбцах набора записей, он будет изменяться везде, на которые в данный момент указывает курсор набора записей. Например:

dim rs as new adodb.recordset
rs.Open _
    " select emp_id, lastname, firstname, middlename, age from emp " & _
    " where location = 'LIVERPOOL'" & _
    " ORDER BY emp_id", connectionVariableHere

Это обновит первый ряд:

rs!middlename = "Ono"
rs.Update

Это обновит следующую строку:

rs.MoveNext
rs!middlename = "Eastman"
rs.Update

Чтобы добавить запись (курсор переместится на последнюю запись)

rs.AddNew
rs!lastname = "Ono"
rs!firstname = "Yoko"
rs!middlename = "Yasuda"
rs.Update

Это обновит последнюю добавленную запись после выполнения вышеуказанного шага:

rs!lastname = "Lennon"
rs.Update

Если я правильно помню, MoveNext, MoveFirst и т. Д. Неявно вызывают .Update перед перемещением в новое положение курсора, поэтому, если вы находитесь в первой строке ...

rs.MoveFirst

... Тогда вы делаете:

rs!age = 70 ' lennon's age of 2010
rs.MoveNext

... Это вызовет. Обновление перед переездом к Полу Маккартни. В любом случае, не полагайтесь на это, просто вызовите .Update, когда вы хотите зафиксировать изменения в строке

2 голосов
/ 13 мая 2010

Чтобы редактировать существующую запись:. Изменить, чтобы начать,. Обновить, чтобы закончить.

Чтобы создать новую запись: .ДобавитьНовый, чтобы начать, .Обновить до конца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...