我遇到的问题是:我有一个DataWindow在窗口打开检查是否存在任何行,如果不存在,我手动插入一行。在某些时候,在我调用DataWindow上的更新之前,会将一行插入表中。当我呼叫更新时,一行已经存在,我的更新无法保存,因为它使用插入而不是更新。有没有办法来减轻这一点?当需要更新时使用插入PowerBuilder DataWindow
dw_dates.SetTransObject(SQLCA);
dw_dates.Retrieve(gs_facility_pfi, is_pcn);
if(dw_dates.rowcount() = 0) then
int row;
row = dw_dates.InsertRow(1);
dw_dates.setitem(row, 'patient_ctrl_num', is_pcn);
dw_dates.setitem(row, 'pfi_num', gs_facility_pfi);
end if
特里正与ItemStatus(获取/设置)。但是我注意到你的代码有些奇怪。如果dw_dates没有行,但在第一行之后尝试插入一行,则会发生。我忘记PB如何处理使用高于行数的数字,但如果没有行,我会将其更改为InsertRow(0)。正如Terry所说,如果itemstatus有错误,您可以使用SetItemStatus来处理它,但请确保查看哪些状态可以更改为哪些表,哪些需要执行两项操作。 – 2014-05-01 18:17:47