Matt Jones
Matt Jones

Reputation: 37

sort two dimensional array by descending vb.net

Please could you help me sort this by 2nd column descending?

Dim ds As New DataSet()
conn.Open()

techSpeciality = LB_techFaultType.Text
techZone = LB_TechZone.Text

Dim strSQL As String = "SELECT Tech_ID, Last_Zone FROM Technician_List WHERE Availability=TRUE AND Speciality='" & techSpeciality & "' AND Last_Zone='" & techZone & "'"
Dim da As New OleDbDataAdapter(strSQL, conn)

da.Fill(ds)
'2D array
Dim values(ds.Tables(0).Rows.Count - 1, 2) As Integer

'for loop between 0 and all available technicians
For value As Integer = 0 To ds.Tables(0).Rows.Count - 1
'Tech_ID column
  values(value, 0) = ds.Tables(0).Rows(value).Item(0).value()
  'Zone column, converts negative value to a positive and minus' the selected techZone
  Math.Abs(values(value, 1) = techZone - ds.Tables(0).Rows(value).Item(1).value())
Next

Upvotes: 0

Views: 589

Answers (2)

Victor Zakharov
Victor Zakharov

Reputation: 26424

Another option is to do ORDER BY 2 DESC, instead of directly specifying the column name.

Upvotes: 0

Derek Tomes
Derek Tomes

Reputation: 4007

Modify this line:

Dim strSQL As String = "SELECT Tech_ID, Last_Zone" & _
                      " FROM Technician_List WHERE" & _
                      " Availability=TRUE AND Speciality='" & techSpeciality & _
                      "' AND Last_Zone='" & techZone & _
                      "' ORDER BY Last_Zone DESC"

For more information on the ORDER BY keywords: http://www.w3schools.com/sql/sql_orderby.asp

Upvotes: 1

Related Questions