【发布时间】:2015-03-10 06:39:22
【问题描述】:
我正在尝试锁定表,其他客户端在我完成之前无法更改它,但它无法正常工作。我创建了 2 个项目,两者完全相同。我同时开始这些项目。当我选择表格时,它应该锁定该表格,但其他项目仍然可以获取表格并进行更改。这是我做的代码。
SqlConnection con = new SqlConnection(ConStr);
con.Open();
SqlCommand _Command = new SqlCommand("SELECT * FROM " + table + " WITH (TABLOCK,HOLDLOCK)", con);
_Command.CommandType = CommandType.Text;
_Command = con.CreateCommand();
SqlTransaction _Transaction = con.BeginTransaction(IsolationLevel.Serializable);
_Command.Connection = con;
_Command.Transaction = _Transaction ;
public void Commit()
{
_Command.CommandText = "UPDATE " + table + " SET " + column[1] + " = '" +
txtBox1.Text + "', " + column[2] + " = '" +
txtBox2.Text + "', " + column[3] + " = '" +
txtBox3.Text + "', " + column[4] + " = '" +
txtBox4.Text + "' WHERE " + column[0] + " = " + txtBox0.Text;
_Command.ExecuteNonQuery();
if (_Transaction != null)
{
_Transaction .Commit();
}
}
public void commit 是在我完成更改后使用的。
提前致谢
【问题讨论】:
标签: c# sql-server