这里是一个比较巧妙的pb数据窗口的问题,用于在保存数据窗口前判断数据窗口中是否有重复列。
下边列子中的在数据库中的主键是"user_id",所以我们根据主键先排序然后过滤出重复的行。如果行数大于0则表示有重复,这样就不需要循环来判断了。
//now use this sort and filter to leave only duplicate rows lds_buffer.SetSort ("user_id A") lds_buffer.Sort() lds_buffer.SetFilter ("user_id = user_id[-1]") lds_buffer.Filter() if lds_buffer.RowCount() > 0 then //got a dup, tell the user which one! al_row = lds_buffer.GetItemNumber (1, "row_num") as_colname = "user_id" as_error = "Duplicate User ID." return -4 end if //no dups, so clear the filter and do the update... lds_buffer.SetFilter ("") lds_buffer.Filter()
原文地址:http://www.pbdr.com/pbtips/dw/duprows.htm