首页 > 解决方案 > 如何修复'System.IndexOutOfRangeException:'位置 0 处没有行。' 错误?

问题描述

我正在使用 SQL 和 OLEDB 在 VB.NET 中创建登录系统(如果有帮助的话)。我试图在表格中插入一个新项目,但我不断收到异常,我该如何解决?

我尝试简单地将这一行中的数字零更改Dim comd As New OleDb.OleDbCommand(sql, Connstring)为其他数字,并将记录号更改为表中的记录数。

Dim sql As String = "INSERT INTO UserInfo (Username, Password, CurrentLevel) VALUES (?, ?, ?)"
Dim comd As New OleDb.OleDbCommand(sql, Connstring)                    
comd.Parameters.AddWithValue(0, tblTable.Rows(recordno)(0))            
comd.Parameters.AddWithValue("@Username", tblTable.Rows(2)(recordno))
comd.Parameters.AddWithValue("@Password", tblTable.Rows(3)(recordno))
comd.Parameters.AddWithValue("@CurrentLevel", tblTable.Rows(4)(recordno))
comd.ExecuteNonQuery() 'run the code to Insert back to the db file

我希望代码将另一个条目添加到表中UserInfo,但除了异常之外什么也没有发生

System.IndexOutOfRangeException:位置 0 处没有行。

标签: sqlvb.netms-accessoledb

解决方案


这表明您的 tblTable 中没有行,并且由于您试图获取第一行 (...tblTable.Rows(0)...),因此它会引发错误。


推荐阅读