2017-01-30 1 views
1

Je suis un débutant dans le serveur SQL, donc j'apprécie d'obtenir de l'aide. Je veux permettre à l'utilisateur d'obtenir des données de véhicules en fonction du prix avec une condition spécifiée par l'utilisateur. J'ai ce code essayer:Problème lors de l'appel de la procédure dynamique du serveur sql à .net via le rapport de cristaux

create proc get_vehicles 
@condition varchar(1), 
@price varchar(20) 
as  

declare @SQL VarChar(1000) 

set @SQL = 'SELECT * FROM vehicles where price' 

if @condition='>' set @[email protected] + ' > ' + @price 
else if @condition='<' set @[email protected] + ' < ' + @price 
else if @condition='=' set @[email protected] + ' = ' + @price 

Exec (@SQL) 

go 

Ce code n'a pas de problèmes dans le serveur sql. Mais lorsque vous créez un fichier crystalReport dans .net et appelez cette procédure, les champs n'apparaissent pas.

Répondre

1

Essayez sans le SQL dynamique

create proc get_vehicles 
@condition varchar(1), 
@price varchar(20) 
as  
SELECT * 
FROM vehicles 
where (price>@price and @condition='>') 
    or (price<@price and @condition='<') 
    or ([email protected] and @condition='=')