pb的几个基础而且至今还迷糊的问题
一。事务
1)数据窗口在保存和SQL语句一起执行做为一个事务
功能:学生表中添加学生的姓名,同时向班级表也插入一条记录,两个数据库操作做为一个事务
sqlca.autocommit = false
dw_1.object.name[i] = ‘王三’
String ls_sql
ls_sql = "insert into student_no_one(name) values('" + "王三" +"'"
if dw_1.update() = 1 then
Execute Immediate :ls_sql Using sqlca;
if sqlca.sqlcode() <> - 1 then
commit;
end if
else
rollback;
end if
结果是如果sqlca.sqlcode() <> - 1 ,dw_1.update同样成功,数据已经写到了数据库
二。Filter缓冲区的问题
功能:在一个数据窗口中利用多选选取数据,然后把这些数据移到另一个数据窗口中,进行存储
s_xz是多选框,选是为1,不选中是0
dw_1.settrans(sqlca)
dw_1.retrieve()
ls_syntax = dw_1.Object.datawindow.Syntax
dw_temp.create(ls_syntax)
dw_temp.settrans(sqlca)
dw_temp.reset()
dw_1.setfilter("s_xz = 0")
dw_1.filter()
dw_1.rowsmove(1, 1.FilteredCount(), Filter!, dw_temp, 1, primary!)
错误结果就是有的时候dw_temp内数据是选中的,有的时候dw_1中没有选中的也进入了dw_temp中。这把我晕的。
这个帖子88分,祝大家新年发发