兄弟们帮我看看这段程序有什么错 怎么改进 谢谢 急

soldiera 2003-01-05 06:01:05
先根据连个关键烈进行排序,让上一行与下一行进行比较,既可找出是否重复,本方法的代码如下
Long llRow,llRowCount,WM_Msg,i
String lsValue1, lsValue2, lsNextValue1, lsNextValue2
llRowCount=Dw_2.RowCount( )

IF Dw_2.AcceptText( ) = -1 THEN RETURN -1
FOR llRow = 1 TO Dw_2.RowCount( ) - 1
messagebox('',string(llRow))
lsValue1 = Dw_2.GetItemString( llRow, "t_psdsp_sptm" )
messagebox('',lsValue1)
lsValue2 = Dw_2.GetItemString( llRow, "t_psdsp_ph" )
messagebox('',lsValue2)
lsNextValue1 = Dw_2.GetItemString( llRow + 1, "t_psdsp_sptm" )
messagebox('',lsNextValue1)
lsNextValue2 = Dw_2.GetItemString( llRow + 1, "t_psdsp_ph" )
messagebox('',lsNextValue2)
messagebox('',Dw_2.RowCount( ))
IF lsValue1 = lsNextValue1 AND lsValue2 = lsNextValue2 THEN
Beep(3)
WM_Msg = MessageBox( "提示", "第" + string(llRow+1) + "条记录与第" &
+ string(llRow) +"条记录重复,请确认并更正,需要删除重复的" &
+ "第" + string( llRow + 1) + "条记录吗? ,&
Exclamation!, OKCancel!, 2)

// do while llRowCount >0
// dw_2.selectrow(dw_2.rowcount(),false)
// llRowCount = llRowCount - 1
// loop
dw_2.setrow(llRow + 1)
dw_2.selectrow(llRow + 1,true) //重复纪录的行反显
dw_2.setfocus()

IF WM_Msg = 1 THEN // Process Yes
IF Dw_2.rowcount() = llRow then
Dw_2.DeleteRow(dw_2.RowCount())
else
Dw_2.DeleteRow(llRow + 1)
end IF
ELSE
return //message.returnvalue=1 // Process No
END IF
END IF
NEXT
...全文
30 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
YewPu 2003-01-06
  • 打赏
  • 举报
回复
看不明。
ice2water 2003-01-06
  • 打赏
  • 举报
回复
一条SQL语句即可查找出所有重复的记录:
select id_1 from table1 group by id_1 having count(*)>1;

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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