首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误:system.data.rbtree‘1.1.GetNodeByIndex(Int32 userIndex),使用VB Net和Access

错误:system.data.rbtree‘1.1.GetNodeByIndex(Int32 userIndex),使用VB Net和Access
EN

Stack Overflow用户
提问于 2016-06-10 16:56:07
回答 1查看 4.5K关注 0票数 0

我试图从一个使用VB Net和Access数据库的查询中获得一个值,并且只对第一条记录工作,然后我得到了这个错误:

在MYPROJECTPATH\Form2.vb中的System.data.rbtree‘1.1.GetNodeByIndex(Int32 userIndex) System.Data.DataRowCollection.get:Item(Int32索引)NAMEOFMYPROJECT.Form2.Button24_Click(对象发送方,EventArgs e)

这是我的片段:

代码语言:javascript
运行
复制
    For i As Integer = 0 To DataGridView2.Rows.Count - 2
        Try
            ConexionBD.Open()
            ComandoBD.Connection = ConexionBD
            ComandoBD.CommandText = "INSERT INTO Ventas (IdProducto, Fecha, Hora) VALUES (@IdProducto, @Fecha, @Hora)"
            ComandoBD.Parameters.Add("@IdProducto", OleDbType.VarChar).Value = Form2.DataGridView2.Rows(i).Cells(0).Value
            ComandoBD.Parameters.Add("@Fecha", OleDbType.DBDate).Value = Now
            ComandoBD.Parameters.Add("@Hora", OleDbType.DBTime).Value = Now.TimeOfDay
            ComandoBD.ExecuteNonQuery()

            consulta = "SELECT CantidadDisponible FROM Productos WHERE Detalle='" & DataGridView2.Rows(i).Cells(1).Value.ToString & "'"
            adaptador = New OleDbDataAdapter(consulta, ConexionBD)
            registros = New DataSet
            adaptador.Fill(registros, "Productos")
            If registros.Tables("Productos").Rows.Count() <> 0 Then
                 msgbox(registros.Tables("Productos").Rows(i).Item(0)) 'HERE IS WHERE THE ERROR IS POINTING AT
            Elseif
                 msgbox("There is no available......")  'THIS MESSAGE ITS NEVER SHOWN
            End If

            ComandoBD.Dispose()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
        ConexionBD.Close()
    Next

对不起,如果我的问题太基本,但我找不到为什么会发生PS:数据库不是空的,列有正确的编号。

EN

回答 1

Stack Overflow用户

发布于 2016-06-10 19:13:39

我发现了我的错误,我改变了这个:

代码语言:javascript
运行
复制
msgbox(registros.Tables("Productos").Rows(i).Item(0))

为此:

代码语言:javascript
运行
复制
msgbox(registros.Tables("Productos").Rows(0).Item(0))

愚蠢的我:P

谢谢你们所有人。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37753531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档