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を配列に保存するにはどうすればよいですか?
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を配列に保存するにはどうすればよいですか?
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"
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