Ciao, io strutturerei la procedura in questo modo:
codice:
DataTable risultato = new DataTable();
SqlDataAdapter dataAdap = new SqlDataAdapter("SELECT * FROM persona WHERE n_tessera = " + Numero, conn.connDB);
if (dataAdap .SelectCommand.Connection.State == ConnectionState.Closed)
dataAdap .SelectCommand.Connection.Open();
try
{
dataAdap .Fill(risultato);
return risultato;
}
catch (SqlException e)
{
//qui gestisci l'eccezione
}
In pratica gli passo il parametro su cui fare la ricerca "il numero" direttamente direttamente nella select, altrimenti dovresti crearti una stored procedre nel db, poi richiamare la stored procedure passadogli un parametro.
In sostanza se utilizzi una parametro come il "@tes" che richiami tu, da qualche parte nell'sql glielo devi dichiarare (usando ad esempio un: "@tes int") altrimenti lui non sa che tipo ha quel parametro.
Comunque nel codice che ti scritto ho bypassato l'uso di parametri sql.
Prova un pò così....
Ciao