Dataset convert into array

I have a dataset that the user has changed in a Datagrid.  I want to take one column of data, i.e. sales order # and get an array so I can use the list in another SQL lookup for more details on the order number.

Sample
ord_no    Cust_no    Address
1              3334           1 Test Dr.
2               3336           5 Test Dr.
6              3339            9 Test Dr.

Now I need to get the ord_no from the dataset as the following
(1, 2, 6)
Reason is so I can place into SQL command Select * from Order_details where ord_no in (1, 2, 6)
kwitcomAsked:
Who is Participating?
 
srikanthreddyn143Commented:
Dim sString As String = String.Empty
For Each row As DataRow In Ds.Table(0).Rows

sString = sString & row("Order#") & ","

Next

sString = sString.Remove(sString.Length-1)

Dim sSQL As String = "Select * from Order_details where ord_no in (" & sString & ")"
0
 
oobaylyCommented:
Just create an array of the correct size (and type), and then just loop through each row of the table in the dataset & populate the array
Dim table As DataTable = ds.Tables("TableName")
Dim values As New Integer(table.Rows.Count -1)
For i As Integer = 0 to values.Length - 1
  values(i) = CInt(table.Rows(i)("ord_no"))
Next

Open in new window

0
 
mohan_sekarCommented:
You need to loop through the dataset to create an array
0
 
oobaylyCommented:
If you're going to concatenate a string in a loop of an unknown (at design time) number of items, I'd highly recommend using either StringBuilder or creating a String array, and using Join.

The reason being that a string is immutable, ie. a new copy is created every time you modify it.

Of course, don't go overboard with StringBuilder, if you know the loop will be only 3 items there's no need for it. If there could be 100+ items, it's probably worth using.
Dim values As New String(table.Rows.Count - 1)
'' Populate String array
 
Dim query As String = "SELECT ... IN (' & String.Join(",", values) & ")"

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.