pb重复行的检查(翻译)

这里是一个比较巧妙的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

转载于:https://www.cnblogs.com/szxiaofei14/p/6186336.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值