http://topic.csdn.net/u/20090105/15/0a42d5cb-0790-42db-815a-e124db133b25.html?799535351
|zyciis| 200:ASP.NET 面向对像方法和SQL数据库的冲突 大家看有什么好的解决方法 谢谢 PS:问题很长CSDN牛人回答:
oo.BeginTransation(IsolationLevel.*****,""); 
asp.net的事务处理可以设置不同级别的锁,好好看看MSDN
-----------------------------------------------
RE:那哪个级别的BeginTransation可以锁定我读取的单行数据
其实,假设info根本不是从数据库中读取的,而是内存中的static对象,假设你没有lock,你仍然会遇到所谓“并发”问题。 所以,你的问题跟“asp.net面向对象方法和SQL数据库的冲突”还是有些不太贴切的。
---------------------------------------------
RE:sp1234那现在这个怎么办呢
谢谢

解决方案 »

  1.   

    你去查查时间戳的用法
    解决单行并发很有效的可以用timestamp类型
      

  2.   

    看不懂你发的帖子SQL中的要事务的目的就是为了更好了保障数据的完整性。(不让它错乱)
      

  3.   

    这里我就想有没有办法在 
    MemberInfo infoMember = Member.GetInfo(oo,1);//这里是取得ID=1的会员信息 
    (其实他的SQL为 Select * From Member Where ID = 1); 
    这里的时候对这条记录进行排他锁呢?
    =========================
    你的意思是在一个用户读取了id = 1的记录后,另一个用户不应该读到这条记录对吧?
    因为在用户a读到了id=1的记录后.对他更新了.
    但b也同时读到了id = 1这条记录,又对其更新,这样造成并发.你是想解决这个问题?可以用时间戳的办法,很有效的
      

  4.   

    //1 将系统时间转换成UNIX时间戳
        DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970,1,1));
        DateTime dtNow = DateTime.Parse(DateTime.Now.ToString());
        TimeSpan toNow = dtNow.Subtract(dtStart);
        string timeStamp = toNow.Ticks.ToString();
        timeStamp = timeStamp.Substring(0,timeStamp.Length - 7);
        Response.Write(timeStamp);
       
        //2将UNIX时间戳转换成系统时间   
        string timeStamp = this.txtDate.Text;
        DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970,1,1));
        long lTime = long.Parse(timeStamp + "0000000");
        TimeSpan toNow = new TimeSpan(lTime);
        DateTime dtResult = dtStart.Add(toNow);
        Response.Write(dtResult);
      

  5.   

    将系统时间转换成UNIX时间戳 
    -----------------------------
    RE:
    这个和我上面的有什么关联呢
    我实在看不出佳佳姐发的代码和我上面的有什么关联谢谢
    你的意思是在一个用户读取了id = 1的记录后,另一个用户不应该读到这条记录对吧? 
    ----------------------------------
    RE:就是这个问题
    谢谢
      

  6.   

    给事务的级别定为:
    SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
    --------------------------------------
    RE:这个问题我已经在SQL专区里面回答了
    http://topic.csdn.net/u/20090102/17/24e43a0e-fb92-4808-99cc-9a951da3fb95.html?1262285010
    http://topic.csdn.net/u/20090102/23/2A2FFB74-2BC1-4D59-AD2F-CA38A5BD85DA.html
     LEVEL REPEATABLE READ
    后我Select出来的用户信息,别人事务还是可以读取
    谢谢
      

  7.   

    通过sql 锁机制实现
    http://www.cnblogs.com/si812cn/archive/2007/08/21/864015.aspx