No ejecuta bien los procedimientos almacenados

tema enviado por pino en C#
tema iniciado el 08/08/2007
Buenas, No se si esta pregunta corresponde a este foro, pero allá va. Resulta que tengo un Proyecto en C# .NET conectado por ODBC con una BD en SQL Server Express 2005. Para recuperar los datos ejecuto una serie de procedimientos almacenados, todos ellos probados y ejecutados correctamente. Ahora estoy integrando informes con Crystal Reports para .NET y quiero acceder a una serie de procedimientos. Esto también lo hace bien pero cuando tengo un procedimiento del tipo: if @valor=0 select * from TABLA1 if @valor=1 select * from TABLA2 if @valor=2 select * from TABLA3 siempre me devuelve la ultima consulta aunque le pase el valor del parámetro 0 o 1. ¿Alguien sabe por qué?