ado.net 一个事务未结束,会阻塞另一个事务吗?如果Test3与Test4同时运行,当Test3事务未结束时,会阻塞Test3的事务吗? private static void Test3()
{
string connStr = "user id=a;password=a;data source=127.0.0.1;initial catalog=test;persist security info=False;workstation id=CSharp;packet size=4096"; using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
SqlTransaction tran = conn.BeginTransaction();
//string sql = "insert into t_one (Name)values('111')";
string sql = "select * from t_one";
SqlCommand comm = new SqlCommand(sql, conn, tran);
comm.Transaction = tran;
Console.WriteLine("1");
Console.WriteLine("sleep 10s");
Thread.Sleep(10000);
int row = comm.ExecuteNonQuery();
}
Console.WriteLine("Test3 over");
} private static void Test4()
{
string connStr = "user id=a;password=a;data source=127.0.0.1;initial catalog=test;persist security info=False;workstation id=CSharp;packet size=4096"; using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
SqlTransaction tran = conn.BeginTransaction();
//string sql = "insert into t_one (Name)values('111')";
string sql = "select * from t_one";
SqlCommand comm = new SqlCommand(sql, conn, tran);
comm.Transaction = tran;
Console.WriteLine("2");
int row = comm.ExecuteNonQuery();
}
Console.WriteLine("Test4 over");
}
{
string connStr = "user id=a;password=a;data source=127.0.0.1;initial catalog=test;persist security info=False;workstation id=CSharp;packet size=4096"; using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
SqlTransaction tran = conn.BeginTransaction();
//string sql = "insert into t_one (Name)values('111')";
string sql = "select * from t_one";
SqlCommand comm = new SqlCommand(sql, conn, tran);
comm.Transaction = tran;
Console.WriteLine("1");
Console.WriteLine("sleep 10s");
Thread.Sleep(10000);
int row = comm.ExecuteNonQuery();
}
Console.WriteLine("Test3 over");
} private static void Test4()
{
string connStr = "user id=a;password=a;data source=127.0.0.1;initial catalog=test;persist security info=False;workstation id=CSharp;packet size=4096"; using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
SqlTransaction tran = conn.BeginTransaction();
//string sql = "insert into t_one (Name)values('111')";
string sql = "select * from t_one";
SqlCommand comm = new SqlCommand(sql, conn, tran);
comm.Transaction = tran;
Console.WriteLine("2");
int row = comm.ExecuteNonQuery();
}
Console.WriteLine("Test4 over");
}
string sql ="update t_one set name='a2' where id=3"呢?
update会
楼主可以在SQL Server下面试试