7.1.2数据库游标

db.cursor(sql) 函数,可以将数据库中返回的数据转为游标,如:

 

A

1

=demo.cursor("select * from EMPLOYEE")

2

=A1.fetch(100)

3

=A1.fetch(100)

4

>A1.close()

A1中创建数据库游标,A2在游标中获取前100条记录如下:

fetch获取游标中的数据时,会构成序表返回。

当在A3中再次读取100条记录时,由于用游标读取数据时只会从前向后单次遍历,因此会继续从结果集中获取数据:

从员工序号中可以发现,A3中读取的数据是从第101位员工开始的。在本例中只是简单用fetch读取游标中的数据,集算器中游标更多的使用方法,可以阅读7.2游标使用

当取数完成后,如果游标中的数据并未全部读出,需要用cs.close() 关闭游标。将游标及时关闭,这对数据库游标尤其重要。由于数据库游标是从数据库来获取数据的,如果游标不关闭,与数据库的连接会一直存在,不但会占用不必要的资源,还有可能造成数据库中游标超过限制的错误。

 

与用db.query() 函数查询数据时类似,在建立数据库游标时,也可以使用参数,如:

 

A

1

=demo.cursor("select EID, NAME, SURNAME, GENDER, STATE from EMPLOYEE where GENDER=? and EID>?","F",100)

2

=A1.fetch()

SQL语句中,需要使用的参数用 ? 代替,并在后面依次输入,用逗号分隔。A1中的游标返回EID100以上的女性员工,A2中返回游标中的所有数据如下:

A2中使用fetch时,未指定数据条数,此时将返回游标中的所有数据,当游标中的所有数据读取完成后,游标将自动关闭,此时可以不再调用cs.close()