.net删除问题过来看看~~
编号 上课日期 上课时段
29 2011-11-11星期五 07:00-09:00
29 2011-11-12星期六 14:00-16:00
29 2011-11-18星期五 07:00-09:00
29 2011-11-19星期六 14:00-16:00
29 2011-11-25星期五 07:00-09:00
29 2011-11-26星期六 14:00-16:00
29 2011-12-02星期五 07:00-09:00
29 2011-12-03星期六 14:00-16:00
29 2011-12-09星期五 07:00-09:00
29 2011-12-10星期六 14:00-16:00
11 2011-12-16星期五 07:00-09:00
11 2011-12-17星期六 14:00-16:00
11 2011-12-23星期五 07:00-09:00
11 2011-12-24星期六 14:00-16:00
11 2011-12-30星期五 07:00-09:00
数据库里面是这样的
现在我要重新排编号为11的课,我的想法是先删除编号为11的数据然后再把排好的数据插入数据库中,然后我想到一种可能性就是我数据删除成功了,但是由于其他原因新排得数据没有插入成功,那么我以前的数据就没有了,怎么办,谁遇到过给点思路和建议~~~~~~~
------解决方案--------------------使用存储过程和sql事物,就可以了
------解决方案--------------------不要做物理删除,做逻辑删除就可以了,即用个标志位来表示删除
------解决方案--------------------用事务吧 只要这2个操作没做 就回滚就行了
------解决方案--------------------先把删除后留下的信息存在一个DataTable dt里面,然后for循环添加信息!!
for(int i=0;int<dt.rows.count;i++)
{
insert into 表名 values(dt.rowsp[i][0].ToString(),dt.rowsp[i][1].ToString(),dt.rowsp[i][2].ToString());
}
我也是刚做过这个效果!
------解决方案--------------------可以逻辑删除。
如果觉得数据冗余的话,添加成功后把逻辑删除的再进行物理删除。
11 2011-12-16星期五 07:00-09:00
11 2011-12-17星期六 14:00-16:00
11 2011-12-23星期五 07:00-09:00
11 2011-12-24星期六 14:00-16:00
11 2011-12-30星期五 07:00-09:00
用一个字段标记为不可用
然后增加新的,之后查找指定字段不可用的进行删除
------解决方案--------------------事务最为安全,完全避免你的担心
------解决方案--------------------事务最为安全,完全避免你的担心