1
Dim sql As String = "Select ProductID From OrderDetail Order By ProductID Desc"
    Dim command As New SqlCommand(sql, connection)
    Dim reader1 As SqlDataReader = command.ExecuteReader()

取得したすべてのproductidを配列に保存するにはどうすればよいですか?

4

2 に答える 2

2
Dim list As New List(Of Integer)

Using reader As SqlDataReader = command .ExecuteReader()
    While reader.Read()
        list.Add(reader.GetInt32(reader.GetOrdinal("ProductID")))
    End While
End Using
'check  list.ToArray() now

編集:しかし、配列を返す代わりに、整数のジェネリックリスト(ProductIdのみを返したい場合)またはProductClassオブジェクトのリストを返します

Private Function GetProductIDs() As IList(Of Integer)

    Dim list As New List(Of Integer)
    Dim conStr = "write your connection string here"

    Using connection As New SqlConnection(conStr )
        Dim sql As String = "Select ProductID From OrderDetail Order By ProductID Desc"
        Dim command As New SqlCommand(sql, connection)
        Using reader As SqlDataReader = command.ExecuteReader()
            While reader.Read()
                list.Add(reader.GetInt32(reader.GetOrdinal("ProductID")))
            End While
        End Using
    End Using

    Return list

End Function

編集2コメントによる と、ラベルのテキストのプットを取得するには、これを行うことができます

Dim str As String
str = String.Join(",", GetProductIDs())
Label1.Text=str;

Label1ラベルコントロールのIDであると仮定します。このString.Joinメソッドは、次のようにコンマで区切られたProductIdの文字列を返します。"1,2,6,7"

于 2012-07-25T15:11:23.337 に答える
0
SQLdr = SQLCmd.ExecuteReader 'Gets Data

While dr.Read() 'While Data is Present        
      MsgBox(dr("Column Name")) 'Show data in a Message Box
End While

Loop While SQLdr.NextResult() 'Move to the Next Record

http://www.daniweb.com/software-development/vbnet/code/216920/sql-in-vb.net

于 2012-07-25T15:11:40.053 に答える