Ciao a tutti,

riporto il codice di una procedura che chiamo dopo un certo evento:

sub cambia(obj as object, e as eventargs)
lbprova.text = obj.selectedItem.value
end sub

sub cambia1(obj as object, e as eventargs)


dim objcmd1 as oledbcommand = new oledbcommand ("select * from Prodotti where IDCategoria = @ID" , objconn)

dim objreader as oledbdatareader
dim objparam as oledbparameter

objparam = objcmd1.parameters.add("@ID", oledbtype.Integer)
objparam.direction = parameterdirection.Input
objparam.value = obj.selectedItem.value


objcmd1.connection.open()
objreader = objcmd1.ExecuteReader


mylist1.datasource = objreader
mylist1.databind()


objreader.Close
objcmd1.Connection.close()

end sub

mi da questo errore

Dichiarare la variabile '@ID'.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

Dettagli eccezione: System.Data.OleDb.OleDbException: Dichiarare la variabile '@ID'.

Errore nel codice sorgente:


Riga 40:
Riga 41: objcmd1.connection.open()
Riga 42: objreader = objcmd1.ExecuteReader
Riga 43:
Riga 44:

Non ho capito il problema help me....