范围控制问题?急急!

PowerSoft-001 2003-10-15 01:13:21
有数据库表如下:
id(主键) start_number end_number
120 100 200
120 201 300
120 301 400
121 50 100
121 101 150
122 151 200
......


此表在数据窗口做提交,请问如何控制start_number和end_number之间的范围不重叠。比如:120 100 200和120 100 150 之间就存在重叠。


谢谢!
...全文
32 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lmby 2003-10-22
  • 打赏
  • 举报
回复
dw_name.setsort( id, start_number, end_number )
dw_name.sort()

for i = 2 to dw_name.rowcount()
if dw_name.object.id[ i ] = dw_name.object.id[ i - 1 ] then
if dw_name.object.start_numner[ i ] < dw_name.object.end_number[ i - 1 ] then
//重叠
end if
end if
next
ropriest 2003-10-15
  • 打赏
  • 举报
回复
呵呵,偶也搞不动,id(主键)为什么会有重复的!
kirao 2003-10-15
  • 打赏
  • 举报
回复
看了半天問題弄得不是好清楚
id 為什麼可以重復。
hkzhou 2003-10-15
  • 打赏
  • 举报
回复
按照 id start_number分组 然后对end_number求MAX就是了撒
klbt 2003-10-15
  • 打赏
  • 举报
回复
在数据窗口的updatestart事件编码:
long i

for i = 1 to this.rowcount()
if this.getitemstrieng(i, "id") >= this.getitemstring(i, "start_number") and this.getitemstrieng(i , "id") <= this.getitemstring(i, "end_number") then
messagebox("", "第" + string(i) + "行范围存在重叠!")
return 1
end if
next

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧