描述:
语法:
db. cursor(sql {,args …})
备注:
根据sql创建数据库游标,数据扫描完将自动关闭游标。
参数:
db |
数据源连接。 |
sql |
sql查询语句。 |
args |
传递给sql的参数;可以是参数值,也可以是定义过的参数名称,多个参数之间用逗号分隔。 |
选项:
@i |
结果集只有1列时返回的游标内容为序列。 |
@d |
将numeric型数据转换成double型数据而非decimal型数据。 |
@x |
关闭游标时自动关闭数据库连接,只限用connect方式的db连接,使用该选项返回的游标不能回转。 |
@v |
生成纯序表/纯序列游标。 |
返回值:
游标
示例:
|
A |
|
1 |
=demo.cursor("select * from SCORES") |
db参数为数据源名称,此时要求demo是连接成功的状态。 |
2 |
=connect("demo") |
|
3 |
=A2.cursor@x("select * from SCORES").fetch() |
connect连接方式,可以使用@x选项。 |
4 |
=A2.cursor("select * from STUDENTS") |
正常会出现报错:Data Source demo is shutdown or wrong setup.,提示数据源未启动,这是由于A3中的游标关闭时,自动关闭了数据库连接。 |
sql中有参数:
|
A |
|
1 |
>arg2="R&D" |
定义参数名为arg2,参数值为"R&D"。 |
2 |
=demo.cursor("select EID,NAME,DEPT,GENDER from employee where EID<? and DEPT=? and GENDER=?",arg1,arg2,"M") |
查询employee表中的内容,其中arg1为网格参数,参数值为100,arg2为A1格中定义的参数,第三个参数直接传递参数值为“M”。 |
3 |
=A2.fetch() |
读取A2游标中的数据:
|
返回其他类型游标数据:
|
A |
|
1 |
=demo.cursor("select NAME from STUDENTS") |
从demo数据源中查询STUDENTS表的NAME字段,返回游标内容如下:
|
2 |
=demo.cursor@i("select NAME from STUDENTS") |
结果集只有一列时,使用@i选项,返回的游标内容为序列:
|
3 |
=demo.cursor@v("select * from STUDENTS") |
返回纯序表游标。 |
4 |
=demo.cursor@iv("select NAME from STUDENTS") |
返回纯序列游标。 |
5 |
=mysql.cursor@d("select * from ta") |
使用@d选项,numeric型数据将被转换成double:
|
相关概念: