ADO для MySQL: CursorType и LockType

Я пытаюсь преобразовать ASP-ADO код для PHP-MySQL код и у меня есть следующий блок кода для преобразования следующего:

Function FindBankName(bankNo)

If IsNull(bankNo) Or IsNumeric(bankNo) = False Then Exit Function
Dim recordSet

Set recordSet = Server.CreateObject("Adodb.Recordset")
recordSet.Open "SELECT Id, MainPos FROM bank WHERE MainPos = "& bankNo &"", db, 1, 3
If Not recordSet.EOF Then
FindBankName = recordSet("Id")
End If
recordSet.Close
Set recordSet = Nothing

End Function

Последние два параметра, 1 и 3, из Open Функция определяется в документах Microsoft как:

CursorType

Необязательный. Значение CursorTypeEnum, определяющее тип курсора, который поставщик должен использовать при открытии набора записей. Значением по умолчанию является adOpenForwardOnly.

LockType

Необязательный. Значение LockTypeEnum, определяющее, какой тип блокировки (параллелизма) должен использовать провайдер при открытии набора записей. Значением по умолчанию является adLockReadOnly.

Есть ли в MySQLi соответствующие опции, которые их покрывают? Как мне поступить? Могу ли я их игнорировать?

1

Решение

CursorType 1 — это adOpenKeyset, что означает, что все типы перемещения по набору записей разрешены, и вы можете видеть изменения, но не можете видеть добавления других пользователей. Другими словами, для набора записей, где код просто получает идентификатор первой записи, это немного излишне. LockType 3 является adLockOptimistic, что означает, что записи блокируются только при обновлении. Опять же, для набора записей, где вы вообще не обновляете, это больше, чем вам нужно.

Однако все это говорит о том, что мы все склонны использовать типы курсора и блокировки, которые работают для большинства целей (или, что более вероятно, мы переходим к другим методам, чем rs.Open), и для запроса, возвращающего два столбца из одной строки, не имеет значения, что вы используете.

Суть в том, что до тех пор, пока вы можете настроить свои запросы MySQL, чтобы позволить вам выполнять необходимые действия — чтение, обновление, добавление, удаление — вы можете спокойно игнорировать конкретные параметры, используемые ADO.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]