我随机收到此错误消息:
指数数组的边界之外。
它指向这一行:
Dim placename As String = RichTextBox1.Lines(0)
我随机收到此错误消息:
指数数组的边界之外。
它指向这一行:
Dim placename As String = RichTextBox1.Lines(0)
这意味着你的RichTextBox1
里面没有线条。将其替换为:
Dim placename As String
If RichTextBox1.Lines.Count() > 0 Then
placename=RichTextBox1.Lines(0)
Else
placename = String.Empty
End if
更多信息:
将数组想象成一条街道,数组中的每个元素都是一所房子。如果街道上有 30 所房子,我想找到 20 号房子,我从开头 (1) 开始,一直到 20。对于数组,0 是你开始的地方而不是 1,所以数组有 30 个元素,包含索引 0-29。现在回到街头类比。想象一下,我走到街上要 31 号房子。那房子不存在,因为只有 30 间房子。这实际上是程序告诉你的。它是说'数组中没有足够的元素让我到达你要求的那个'。因此,您要求行数组中的元素 0,实际上是在说“给我第一行”。现在,如果文本框中有 0 行,则第一行不存在,您将收到此错误。
指数数组的边界之外
该错误消息通常意味着您在数组中的某个位置调用了一个对象,该位置为空,或者那里没有任何内容。它发生在以下情况;
myArray = [0,1,2,3];
trace(myArray[6]);
由于索引 6 处的数组中没有任何内容,因此它超出了范围。如果在调用时数组为空,它将为索引 0 处的对象给出错误。
你发布的代码量我不能说更多。尝试检查以确保在调用该行之前已填充数组。
也许您的 SQL 阅读器没有获得与您提供的索引相关联的任何行。我就是这样。我得到了不在数据库中的列。
您可以按如下方式更改代码:
Dim placename As String
If RichTextBox1.Lines.Count > 0 Then placename = RichTextBox1.Lines(0)