将变量分配给数据

时间:2016-04-20 09:25:05

标签: arrays vb.net if-statement

我试图识别数据(0)= X1然后我想将data(1)= Y1的值赋给字符串(MyString1)。所以我稍后可以调用MyString1,然后MyString1的值对应于Y1。我应该能够重复他的程序:

如果data(0)= X2则应将数据(1)= Y2分配给MyString2,依此类推。

我简化了数据,它们比X1和Y1更具体。

我在下面添加了我的代码。

Dim cmd As Odbc.OdbcCommand = New Odbc.OdbcCommand(mystring, conn)
Dim reader As Odbc.OdbcDataReader
Dim columnCount As Integer
Dim MyString1 As String
Dim data As Object() = New Object(10) {}
conn.Open()
MsgBox("Connection Established!")
reader = cmd.ExecuteReader()
While reader.Read()
    columnCount = reader.GetValues(data)

     If data(0) = "X1" Then
         MyString1 = data(1).ToString()
     End If

    Debug.WriteLine(data(0))
    Debug.WriteLine(data(1))
        My.Forms.Form2.TypeTextBox.Text = MyString1
    End While
    conn.Close()

我希望这是有道理的。

编辑:我的问题是,如果有块,我将会有30个。像这样:

If data(0) = "X1" Then
         MyString1 = data(1).ToString()
     End If

我想知道是否可以更聪明地做到这一点?

1 个答案:

答案 0 :(得分:0)

我不太确定我是否完全明白你在寻找什么,但听起来像一个简单的" If...Then...(Else)"。 根据您的描述,我不认为需要先在数据(1)中存储Y2。

If data(0) = X1 Then
    myString = Y2
End If

编辑: ......好吧,现在我明白了......你能这样做吗?

Dim i As Integer
Dim data As Object() = New Object(30) {}
Dim myString As String() = New String(30) {}
For i = 0 To 30
  If data(i) = ("X" + &i+1) Then
    myString(i) = data(i+1).ToString()
  End If
Next i