本章节介绍execute()函数的用法。
描述:
在指定的数据库连接中执行sql语句。
语法:
db.execute(sql {,args,…} ) |
在db中执行sql语句。args,…是sql的参数;args也可以是由sql的参数值组成的序列。 |
db.execute(A/cs, sql {,args,…} ) |
在db中针对A/cs依次执行sql语句。args,…是sql的参数。这种方式可以避免多次访问数据库。此时args不支持序列参数。 |
备注:
在指定的数据库连接中执行sql语句,一般用于执行改变数据库记录的sql,如更新、插入等等。
参数:
db |
数据源连接。 |
sql |
需要查询的sql语句,如 select * from table。 |
args |
sql中如果用到参数,就必须转入参数值,这里可以是常数,也可以是表达式计算出来的变量。注意,各个参数之间用逗号分隔。 |
A |
序列,对着A循环执行sql,一般是利用A计算出不同的args传给sql去执行。 |
cs |
游标。 |
选项:
@k |
完成后不提交事务,缺省将提交。 |
@s |
事先不做事务准备。 |
|
A |
|
1 |
=demo.execute("insert into DEPARTMENT(DEPT, MANAGER) values(?,?)","TecSupport",9) |
向表中插入一条数据。 |
2 |
=demo.execute("delete from DEPARTMENT where DEPT='TecSupport'") |
删除DEPT 为 ''TecSupport''的记录。 |
3 |
=demo.execute("update DEPARTMENT set MANAGER = ? where DEPT='Sales'","7") |
修改DEPT为'Sales'的MANAGER为7。 |
4 |
=[["'TecSupport ",5],[" AppSupport",9]].new(~(1):Dept,~(2): Manager) |
|
5 |
=demo.execute(A4,"insert into DEPARTMENT (DEPT, MANAGER) values (?,?)", #1,#2) |
#1,#2代表A4中的第一列和第二列。 |
6 |
|
|
7 |
=file("D://data_dept.txt").cursor@t() |
data_dept.txt文件内容如下:
|
8 |
=demo.execute(A7,"insert into DEPARTMENT (DEPT, MANAGER) values (?,?)", #1,#2) |
A7为游标。 |
9 |
=demo.execute("insert into DEPARTMENT(DEPT, MANAGER) values(?)",["TecSupport",9]) |
args为参数值组成的序列,执行前自动转换为=demo.execute("insert into DEPARTMENT(DEPT, MANAGER) values(?,?)","TecSupport",9)。结果同A1。 |
相关概念: