Arrays 每个循环变量的数组内容更改保持不变
在数组中,arr1是csv表的第一行,其中存储有地址。 它由streamdreader.readline读入,然后拆分并保存在数组arr1中 Form1显示了一个datagridview,它有两列,第一列是数组的字段。第二列具有组合框,其中可能包含sql数据库中的列,scv应保存在其中。 之后,用户使用组合框映射两列。 下面是代码片段: '循环应检查每一行,通过比较字符串选择哪一行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
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
谢谢你的回答,我一进入公司就会查出来