0
 Dim cmd1 As New OleDbCommand("Select * FROM Membros WHERE NFamilia=@nfamilia", con)
    cmd1.Parameters.Add("@nfamilia", OleDbType.VarChar).Value = nfamilia.Text

    con.Open()
    Dim dr2 As OleDbDataReader = cmd1.ExecuteReader()
    While (dr2.Read())
        Dim n As Integer = dr2(1)
        Dim nome As String = dr2(2)
        For i = 1 To 10
            table.Item(n).text = nome
        Next
    End While
    con.Close()

ハッシュテーブルにデータを挿入するこのコードがありますが、自動インクリメント値である dr2(1) に問題があり、次のようなものが得られます

コードを次のように変更すると:

            Dim n As Integer 
                n=1
                Dim nome As String = dr2(2)
                For i = 1 To 10
                    table.Item(n).text = nome
                    n=n+1
                Next
            End While

私はこれを得る

この方法でコードを作成すると、上記と同じになります

        While (dr2.Read())

        Dim nome As String = dr2(2)
        For i = 1 To 10
            table.Item(i).text = nome
        Next
End While
4

1 に答える 1

1

これで試してみませんか?

i = 1
While (dr2.Read())
    table.Item(i).text = dr2(2)
    i = i + 1
End While
于 2012-04-24T12:31:13.953 に答える