Arrays 每个循环变量的数组内容更改保持不变

Arrays 每个循环变量的数组内容更改保持不变,arrays,vb.net,variables,loops,Arrays,Vb.net,Variables,Loops,在数组中,arr1是csv表的第一行,其中存储有地址。 它由streamdreader.readline读入,然后拆分并保存在数组arr1中 Form1显示了一个datagridview,它有两列,第一列是数组的字段。第二列具有组合框,其中可能包含sql数据库中的列,scv应保存在其中。 之后,用户使用组合框映射两列。 下面是代码片段: '循环应检查每一行,通过比较字符串选择哪一行 Dim feld(arr1.Length) Dim i As Integer For i = 0 To arr1

在数组中,arr1是csv表的第一行,其中存储有地址。 它由streamdreader.readline读入,然后拆分并保存在数组arr1中

Form1显示了一个datagridview,它有两列,第一列是数组的字段。第二列具有组合框,其中可能包含sql数据库中的列,scv应保存在其中。 之后,用户使用组合框映射两列。 下面是代码片段:

'循环应检查每一行,通过比较字符串选择哪一行

Dim feld(arr1.Length)
Dim i As Integer

For i = 0 To arr1.Length - 1 Step +1
    feld(i) = DataGridView1.Rows(i).Cells(1).Value.ToString
    If feld(i) = "Postleitzahl" Then
        Postleitzahlvar = arr1(i)
    ElseIf feld(i) = "Nachname" Then
        Nachnamevar = arr1(i)
    ElseIf feld(i) = "Vorname" Then
        Vornamevar = arr1(i)
    End If
Next
之后还有另一个循环:
1.读取cvs文件的第行
2.将线slpitted置于arr1中
3.使用第一个循环(postleitzahlvar、nachnamevar、vornamevavr)中的变量,并将它们作为sql数据库的insert命令中的参数

直到最后一行

问题是这些变量 后莱扎尔瓦尔 纳希纳梅瓦尔 沃纳梅瓦尔

不要改变它们的值。当数组字段的值更改时

这意味着我在循环中的每次插入都会得到一个数据行,其中包含csv第一行的属性


我希望你们能帮上忙。我知道它很值得一读。但是我今天花了很多时间来解决我的问题。我不知道为什么它不能与i(index)变量一起工作。

我认为与其保存第一行中的值,不如获取列索引。它们将帮助您将正确的列(来自CSV)放入数据库列中

试试这个:

Dim feld(arr1.Length)
Dim Ppostleitzahlindex as integer, Nachnameindex as integer, Vornameindex as integer
Dim i As Integer
For i = 0 To arr1.Length - 1 Step +1

    feld(i) = DataGridView1.Rows(i).Cells(1).Value.ToString

    If feld(i) = "Postleitzahl" Then
        Postleitzahlvar = arr1(i) 'probably not what you want
        Postleitzahlindex = i     'array index is more useful
    ElseIf feld(i) = "Nachname" Then
        Nachnamevar = arr1(i)
        Nachnameindex = i
    ElseIf feld(i) = "Vorname" Then
        Vornamevar = arr1(i)
        Vornameindex = i
    End If
Next  
…然后在读取每行时,拆分列并按索引从列中加载插入参数。以下是伪代码:

'for each line in the csv file
  'Read line
  'split line into arr1

  'parameter Postleitzahl = arr1(Postleitzahlindex)
  'parameter Nachname = arr1(Nachnameindex)
  'parameter Vorname = arr1(Vornameindex)

  'insert
'until end of file

谢谢你的回答,我一进入公司就会查出来