错误[HY000] [Microsoft] [ODBC SQL Server驱动程序]连接正忙于VB.net中另一个hstmt的结果

时间:2015-04-17 02:40:49

标签: vb.net-2010

您好我的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

1 个答案:

答案 0 :(得分:0)

根据Microsoft

  

在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)
{
   .......
}