我用C#语言,asp.net,当我要删除列表中的某一条数据时,我怎样知道这条数据是否在使用中,如何判断,数据库表中没有状态值,比例,我用管理员登录去删除某不是管理员的用户,这个还可以用全局变量,但数据呢?用什么来说明这条数据正在使用正?如何获取这数据的状态。
谢谢

解决方案 »

  1.   

    http协议是无状态连接的,无法知道,除非读取时使用代码记录状态,但是不好控制
      

  2.   

    数据库锁的机制,DBMS帮你管理好的,不必担心!!!
      

  3.   

    可以用ajax获取数据做一个状态 然后获取该字段的状态
      

  4.   

    哪数据怎样上锁,怎样得到数据是否上锁,try块吗?哪e是什么异常?
      

  5.   

    数据库并发操作使用锁机制SELECT * FROM table WITH (HOLDLOCK)  
    其他事务可以读取表,但不能更新删除SELECT * FROM table WITH (TABLOCKX)  
    其他事务不能读取表,更新和删除  
      

  6.   

    说个实例吧,比如,我有名叫ab表,分别有a,c二个字段,每个用户都可以对这二个字段进行修改删除操作,这样一种情况,有个需要修改,有人需要删除,怎样保持数据一致性?
      

  7.   

    当你访问某一表记录是数据库会自动给给这个表添加一个 “共享锁(S)”当要修改或删除该记录是会申请一个另一个锁(X),但是这两个锁是不相容的,即已近申请了S锁后再申请X锁就会等待S锁关闭之后才能申请到X锁,所以当该表记录被S锁占用时是删除修改不了的!
      

  8.   

    谢谢大家,我理解错了,数据正在使用好象,就是,我要删除一个表的一条记录,但这个表又跟另外一个表有关联,没有关联删除成功,有关联删除失败,这个怎样操作数据?有什么好的办法?
    我的想法是,根据要删除记录的ID,查询相关联表的记录,有就不删除,没有就删除,但这样我觉得太麻烦,还有个办法就是写触发器,当表做删除操作的时候,自动查找相关联表是否有相关联的ID,有就返回什么?没有又返回什么?怎样接收这个触发器的返回值,还是用异常?怎样实现?
      

  9.   

    这个,是我想多了,表与表之间有约束,如果触发了这个约束,就会发生异常,用try块就可以解决!!
    但是,当需要删除一个用户时,是不是使用Application保存一个用户组?来判断这个用户是否已经登录,如果有很多用户咋办?Application没用过,如何保存,如何注销呢?
      

  10.   

    我还有个问题就是:我用GridView,在PagerTemplate中,写自定义分页时遇到的,用存储过程分页,我原来是用Session保存查询条件,但问题就来了,我有四个页面有GridView,我把写好的自定义分页直接复制过去,但原来存放查询条件的Session条件没有过期,排序的字段就是错误的,我也写过一个初始化方法,但也是有条件的,当Session里的查询条件为空时,初始化Session查询条件,我感觉这个效率好低,我想用ViewState来存放查询条件,ViewState怎样存放查询条件呢?为什么我看别人可以存放 ,在我这,我点下一页时,ViewState中的条件就清空了?使用ViewState需要注意什么?
      

  11.   

    好象突然懂了,我是用Url分页的,我点下一页时,再用ViewState保存一下条件