ho visto i vari esempi, però devo dire che io faccio tutto in un modo diverso

codice:
OdbcParameterCollection myparam = new OdbcCommand().Parameters;

myparam.Add("@User", this.txtUserName.Text);
myparam.Add("@Pwd", this.txtPassword.Text);
myparam.Add("@table", "Admin");
myparam.Add("@condizione","UserName=" + this.txtUserName.Text + " AND Password=" + this.txtPassword.Text);

OdbcDataReader objReader;
	
objReader = objDatabase.SelezionaRecord("SELECT * FROM @table WHERE @condizione", myparam, ref this.lblError);


public OdbcDataReader SelezionaRecord(string strQUERY, OdbcParameterCollection objParams, ref Label lblError)
{
	try
	{
		objConn = new OdbcConnection(ConnectionString);
		objCmd  = new OdbcCommand(strQUERY, objConn);
		objCmd.CommandType = CommandType.StoredProcedure;
		for(int i=0;i<objParams.Count;i++)
		{
			objCmd.Parameters.Add(objParams[i].ParameterName, objParams[i].Value);
		}
		//objCmd.Parameters.Add(objParams);
		objCmd.Connection.Open();
		return objCmd.ExecuteReader(CommandBehavior.CloseConnection);
	}
	catch(OdbcException ex)
	{
	lblError.Text = ex.Message;
	return null;
	}
}
io devo passare in qualche modo i parametri e poi nella funzione eseguirli.