1
2
3
4
5
6
本来是这样排序,假如我要把3删除掉,那么3以后的值全部都要减1,重新排序形成
1
2
3
4
5
应该如何实现?与此类似
1
2
3
4
5
假如我要在3的下面插入一条数据,那么先更新原来的排序,3下面的值全部都加1,新插入的数据值为3+1。重新排序后形成
1
2
3
4
5
6
这又该如何实现?
2
3
4
5
6
本来是这样排序,假如我要把3删除掉,那么3以后的值全部都要减1,重新排序形成
1
2
3
4
5
应该如何实现?与此类似
1
2
3
4
5
假如我要在3的下面插入一条数据,那么先更新原来的排序,3下面的值全部都加1,新插入的数据值为3+1。重新排序后形成
1
2
3
4
5
6
这又该如何实现?
解决方案 »
- html控件让页面回发
- gridview里面自建的templatefield列如何与datatable进行绑定
- 求救这 是什么问题 急!!!!!!!!!!!!!
- 高分求asp.net 2.0中的Treeview问题解答
- 如何将treeview结点的文字显示在其图片中?
- 问一个存ASP的问题,关于listbox.60多分求!
- 在windows 2003上windows script debugger不起作用,我怎么在windows 2003上调试javascript了??
- 如何实现将本地机的图片存储到服务器硬盘上
- 急...ASP.NET项目不能新建(分数不够可以再加)
- 赋值问题,有分呀!
- 水晶报表问题,大哥们帮看看!!
- 请高行帮忙,我为什么会出现这个问题!
我现在已经查出了错误,是循环的条件搞错。
我按照从小到大的顺序,而事实上数据插入并不是按从小到大的顺序排列,只是我们读取的时候用了Order By,所以应该逐行遍历,要用到foreach
遍历字段N(要改变的字段)
if(N>=K)
UPDATE N=N+1
我觉得这样也可以实现。只是建议
{
myCategory.UpdateSCategoryOrderNum(int.Parse(ds.Tables[0].Rows[i][1].ToString()),txtOrderNum.Text);
}
/*foreach(DataRow r in ds.Tables[0].Rows)
{
myCategory.UpdateSCategoryOrderNum(int.Parse(r[1].ToString()),txtPCategory.Text);
}*/
Response.Write("<script>alert('添加成功!')</script>");我的思路和你是一样,可为什么插进去之后只有下面一个值加1,其他的都不加呢?
wish you success
ALTER PROCEDURE Sp_Category_UpdateSCategoryOrderNum
/*
添加子类后更新OrderNum的值
*/
@OrderNum int,
@CategoryName varchar(50)
AS
select @OrderNum=OrderNum from Category where CategoryName=@CategoryName
update Category set OrderNum=@OrderNum+1 where OrderNum>@OrderNum
RETURN这个存储过程应该不会错。