ADO到MySQL:CursorType的和的LockType
问题描述:
我想一个ASP-ADO
代码转换为PHP-MySQL
代码和我下面的代码块到下一个转换:ADO到MySQL:CursorType的和的LockType
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
功能
的CursorType
可选:在微软的文档定义。 CursorTypeEnum值,用于确定提供程序在打开Recordset时应使用的游标类型。缺省值是adOpenForwardOnly。
锁类型
可选。 LockTypeEnum值,用于确定提供程序在打开Recordset时应使用的锁定类型(并发性)。默认值是adLockReadOnly。
MySQLi中是否存在涵盖它们的相应选项?我应该如何继续?我可以忽略他们吗?
答
CursorType 1是adOpenKeyset,它表示允许通过记录集的所有类型的移动,并且您可以看到更改,但看不到其他用户的添加。换句话说,对于代码刚刚获得第一条记录的ID的记录集,这有点矫枉过正。 LockType 3是adLockOptimistic,这意味着记录仅在更新时被锁定。再一次,对于你根本没有做任何更新的记录集,这比你需要的更多。然而,我们都倾向于解决光标和锁定类型,这些类型适用于大多数目的(或者更有可能的是,我们移动到rs.Open
以外的其他方法),并且对于从一个排,它真的没有什么区别你用什么。底线是,只要您可以设置您的MySQL查询以允许您执行所需的操作 - 读取,更新,添加,删除,您可以安全地忽略ADO使用的特定参数。