Hola
mrprogman, si el resultado de tu consulta va a ser 1 campo, puede usar el
SQLCOMMAND, su funcion
ExecuteScalar :
Código vb:
Ver originalProtected Sub Button9_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button9.Click
'Dim DS As DataSet
Dim MyConnection As SqlConnection
'Dim MyCommand As SqlDataAdapter
Dim cmd As SqlCommand
Dim suborden As String
MyConnection = New SqlConnection("Data Source=DELL;Initial Catalog=compras;Persist Security Info=True;User ID=sa;Password=3845")
For i As Integer = 0 To ListBox1.Items.Count - 1
'MyCommand = New SqlDataAdapter("SELECT top 1 [line] FROM [compras] where onum= '" & suborden & "' ", MyConnection)
suborden = ListBox1.Items(i).ToString
cmd = new SqlCommand("SELECT top 1 [line] FROM [compras] where onum= '" & suborden & "' ", MyConnection)
TUTEXTBOX.Text = cmd.ExecuteNonQuery()
'DS = New DataSet()
'MyCommand.Fill(DS, "compras")
'---------------------------------------aqui lo envia al grid
'GridView2.DataSource = DS.Tables("compras").DefaultView
'GridView2.DataBind()
Next i
MyConnection.Close()
End Sub
No entiendo cual es el sentido de tu FOR... xq va a chancar los valores que pases al datagrid y solo te va a mostrar el ultimo..., pero bueno solo acomodé a lo que según querías, es tu lógica... Saludos!

.