隔离级别在连接到 SQL 2008 DB 的 vb.net 中不起作用

发布于 2024-11-05 00:38:23 字数 612 浏览 5 评论 0原文

我有一个连接到 SQL 2008 服务器的 VB.net CF 应用程序。 我正在尝试实现事务,但是当我在事务开始时破坏代码时,某些读取查询无法在表上完成。 例如,从表中选择 id <> 的所有记录。 123 不会返回任何值。 但是 select * from stock 将返回除我正在处理的行之外的所有值。

Dim SQLComm As Data.SqlClient.SqlCommand
Dim myConnString As String = frmConnectionDetails.GetConnectionString
Dim SQLConn As New SqlConnection(myConnString)
Dim SQLTrans As SqlTransaction
SQLConn.Open()
SQLTrans = SQLConn.BeginTransaction(Data.IsolationLevel.ReadCommitted)
SQLComm = New SqlCommand
SQLComm.Connection = SQLConn
SQLComm.Transaction = SQLTrans
AddOrUpdateStock(objStock, SQLConn, SQLComm)
 -Break here

I have a VB.net CF app connecting to a SQL 2008 server.
I'm trying to implement transactions but when i break my code at the start of a transaction certain read queries cannot be done on the table.
For instance selecting all records from the table where id <> 123
Won't return any values.
But select * from stock will return all values except for the row I'm working on.

Dim SQLComm As Data.SqlClient.SqlCommand
Dim myConnString As String = frmConnectionDetails.GetConnectionString
Dim SQLConn As New SqlConnection(myConnString)
Dim SQLTrans As SqlTransaction
SQLConn.Open()
SQLTrans = SQLConn.BeginTransaction(Data.IsolationLevel.ReadCommitted)
SQLComm = New SqlCommand
SQLComm.Connection = SQLConn
SQLComm.Transaction = SQLTrans
AddOrUpdateStock(objStock, SQLConn, SQLComm)
 -Break here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

微暖i 2024-11-12 00:38:23

一旦启动事务,记录就会被锁定,并且在提交或回滚之前无法访问。在 MSDN 上查看这个示例

此外,Data.IsolationLevel 适用于连接级别。如果你想进行脏读,你应该使用ReadUncommissed

Once you start a transaction, the record becomes locked and can't be accessed until either a commit or rollback. Take a look at this example over at MSDN.

Also, the Data.IsolationLevel applies at the connection level. If you want to do dirty reads you should be using ReadUncommitted

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文