Connection.cursor
在此连接上创建一个用于检索数据的游标。
Connection.cursor()
或
Connection.cursor(cls, idx)
此方法有两种不同的使用变体:
不带参数调用 cursor() 会创建一个符合 DB-API 风格的游标,可用于诸如 find()、search()、execute()、execute_many() 等操作。
如果指定了类 cls 和索引 idx,则会创建一个“迭代”游标,该游标将使用指定的索引遍历指定类的所有对象。如果未提供索引,则会使用自动 ID 或列表索引。如果为此类未定义自动 ID 或列表,则会抛出错误。类和索引可以指定为在模式中声明的字符串,也可以作为从数据库字典中获取的对象传递。例如,以下两个调用是等效的:
>>>c = conn.cursor(‘myclass’, ‘idx’)
>>>c = conn.cursor(dict.classes[‘myclass’],dict.indexes[’idx’])
参数
cls
当指定时,它会创建一个“迭代”游标,该游标将遍历类 cls 的所有对象。
idx
当指定了“迭代”游标时,它将使用索引 idx 遍历类 cls 的所有对象;如果未指定,则会使用自动 ID 或列表索引,或者,如果此类未定义自动 ID 或列表,则会抛出错误。
返回
cursor
成功实例化游标对象。
Exception
抛出带有适当错误消息的异常。
示例
conn = db.connect()
conn.startTransaction(exdb.Transaction.MCO_READ_ONLY)
cursor = conn.cursor("Record", "by_i4");
for rec in cursor:
print 'i4=%s,str="%s"' % (rec.i4, rec.str)
cursor.close(); # close cursor
conn.rollback(); # end transaction