当前数据窗口中可以检索出多行,插入到某一指定数据中如以下代码:
- SQL code
for i=1 to rowcount()//先插入表头 insert into SEOutStock(fbrno,finterid,fbillno) VALUES(:ls_fbrno,:ll_finterid2,ls_fbillno)//再插入表体 insert into seoutstockentry(fbrno,finerid,fitemid,fqty) values(:ls_fbrno,ll_finterid2,ll_fitemid,ld_fqty)next
要实现插入完数据窗口中所有行后一起显示有哪些单据插入成功(fbillno是单号)
------解决方案--------------------
- SQL code
String ls_ErrorRow[]for i=1 to rowcount()//先插入表头 insert into SEOutStock(fbrno,finterid,fbillno) VALUES(:ls_fbrno,:ll_finterid2,ls_fbillno) if sqlca.sqlcode = -1 then ls_ErrorRow[Upperbound(ls_ErrorRow[])+1] = ls_fbrno end if//再插入表体 insert into seoutstockentry(fbrno,finerid,fitemid,fqty) values(:ls_fbrno,ll_finterid2,ll_fitemid,ld_fqty) if sqlca.sqlcode = -1 then ls_ErrorRow[Upperbound(ls_ErrorRow[])+1] = ls_fbrno end ifnextIf Upperbound(ls_ErrorRow[]) > 0 Then // 显示错误内容Else // 显示成功提示End If
------解决方案--------------------
String ls_Row
int k
for i=1 to rowcount()
//先插入表头
insert into SEOutStock(fbrno,finterid,fbillno)
VALUES(:ls_fbrno,:ll_finterid2,:ls_fbillno)
if sqlca.sqlcode = 0 then
ls_Row = ls_Row + ls_fbrno + "~n~t"
k++
end if
//再插入表体
insert into seoutstockentry(fbrno,finerid,fitemid,fqty)
values(:ls_fbrno,ll_finterid2,ll_fitemid,ld_fqty)
next
If k > 0 Then
messagebox("提示", "成功插入了:" + string(k) +"条数据:" + ls_Row
Else
messagebox("提示", "插入全部失败" )
End If