ciao,
ci sono almeno un paio di errori di concetto 
In ado.net, l'utilizzo dei parametri permette di evitare di fare formattazioni dei valori, evitare query soggette a SqlInjection, e una serie di altri motivi.
Ma le stringhe con i parametri devono essere fatte in questo modo, ed esempio una select:
"select...from...where campo=@nomeparametro"
a questo punto puoi aggiungere un parametro con il nome "@nomeparametro" ovviamente, e settare un valore.Il providera sapra' fare la query sql coretta per avere quello che ti serve.
Quindi nel tuo caso la riga:
>Dim strSQL As String = "select Url From affiliati where Codice
>='" + Nick + "'"
deve essere cambiata in:
"select Url From affiliati where Codice =@Codice"
poi aggiungi il parametro e va bene cosi'.
Altra cosa, ho visto questo:
> If Reader.Read Then
> Dim indirizzo As String
> indirizzo = strSQL
> Response.Redirect(Indirizzo)
> Else
indirizzo = strSQL ???????
probabilmente intendevi :
indirizzo = Reader.GetString(0)
prova a controllare questi passaggi intanto.
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo