日期:2014-05-20  浏览次数:20697 次

大家帮忙 这样可以吗?
我数据库里面有这样一组数据
-1,1,2,3,-1,8,9,7,42,5,6,-1,52,44,-1
假设给我一个数
我先判断这个数是不是数据库中存在 如果存在的话 假设给的数是 42
那么我就把 42前后最近的-1和-1之间的这一组数据从数据库中全部删除也就是说如果是42话我就把8,9,7,42,5,6从数据库中删除
用C#编写 怎么实现呢
这样能实现吗?


------解决方案--------------------
给数据库建立一个表,第一个属性自动编号(主键),第二个属性就是你填入的值
检索你的值,然后根据自动编号来检测和删除
------解决方案--------------------
declare @ID_start int
declare @ID_end int
declare @AutoID int

set @AutoID=(Select AutoID From Table1 Where ID=42)

set @ID_start=(Select Top 1 AutoID From Table1 Where AutoID <@AutoID And ID=-1 Order By AutoID Desc)
set @ID_end =(Select Top 1 AutoID From Table1 Where AutoID> @AutoID And ID=-1 Order By AutoID )
//---DELETE From Table1 Where AutoID between @ID_start and @ID_end
select * From Table1 Where AutoID between @ID_start and @ID_end