c#开启事务查询数据为什么没有给查询的数据行加锁? 行是可以修改这样不是幻读了吗?

SqlConnection myconnection = new SqlConnection(SqlDapperHelper.connStrWrite);

myconnection.Open();

SqlTransaction myTrans = myconnection.BeginTransaction();

SqlCommand myCommand = new SqlCommand();

myCommand.Connection = myconnection;

myCommand.Transaction = myTrans;

myCommand.CommandText = "select * from Categories where categoryid=1";

myCommand.ExecuteNonQuery();

myTrans.Commit();

修改该数据行是有排他锁的 但是查询就没有 默认的共享锁吗?

我该怎么在c# 代码里在开启事务查询时强制给查询的数据加排他锁???


BIG阳
浏览 906回答 1
1回答

慕后森

使用 TABLOCKXmyCommand.CommandText = "select * from Categories WITH(TABLOCKX) where categoryid=1";
打开App,查看更多内容
随时随地看视频慕课网APP