In generale ogni controllo di asp.net in questo caso una listbox hanno come proprietà il datasource quindi sono in grado di popolarsi automaticamente data una sorgente. Quindi ipotizzando una connessione attiva:
codice:
Dim objCommand=New OledbCommand("select id,nome from dati",Connessione)
listBox.DataSource=objCommand.ExecuteReader()
listBox.DataTextField="nome"
listBox.DataValueField="id"
listBox.DataBind()
Il concetto quindi è simile al datagrid o datalist solo che spefichiamo con quelle due proprietà quale campo della query sql farà da valore e quale da testo che verrà visuallizzato.
E' chiaro che poi potrai popolare il listbox in modo disconnesso con un dataset un dataview ecc.
Ciao