您好我的vb.net有问题,当我点击该按钮时,它总是显示错误
错误[HY000] [Microsoft] [ODBC SQL Server驱动程序]连接正忙 与另一个hstmt的结果
任何人都可以帮助我?
Private Sub cmbposting_Click(sender As Object, e As EventArgs) Handles cmbposting.Click
cmd = New OdbcCommand("select * from stok_master where stok_cd='" & txtstok_cd.Text & "'", conn)
rd = cmd.ExecuteReader
rd.Read()
If rd.HasRows Then
Dim kurangistok As String = "Update stok_master set " & _
"qty='" & rd.Item(6) - Val(txtreqqty.Text) & "' " & _
"where stok_cd='" & txtstok_cd.Text & "'"
cmd = New OdbcCommand(kurangistok, conn)
**cmd.ExecuteNonQuery()**
End If
End Sub
答案 0 :(得分:0)
在Visual中访问SQL Server数据库作为ODBC数据源时 使用Microsoft Access版本2.0的基本版本3.0或4.0 安装了兼容性层,可能会出现错误消息3146:
ODBC-call failed. [Microsoft][ODBC SQL Server Driver]Connection is busy with results for another hstmt [#0]
此错误是SQL Server ODBC驱动程序的结果。司机可以 一次只处理一个活动语句。声明仍然存在 激活,直到获取所有行。
您可以完成阅读所有行,将其加载到DataTable
,然后遍历它以再次更新表。
像
这样的东西var dataReader = cmd.ExecuteReader();
var dataTable = new DataTable();
dataTable.Load(dataReader);
然后迭代dataTable
之类的
foreach(DataRow row in dataTable.Rows)
{
.......
}