2017-01-30 2 views
1

私はSQL Serverの初心者ですので、助けていただきありがとうございます。私は、ユーザーが指定した条件で価格に応じて車両データを取得できるようにしたい。私はこのtryコードを持っています:Crystalレポート経由でSQL Serverから.netに動的プロシージャを呼び出すときに発生する問題

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 

このコードはSQL Serverでは問題ありません。しかし、.netでcrystalReportファイルを作成してこのプロシージャを呼び出すと、フィールドは表示されません。

答えて

1

は、動的SQLなし

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='=') 
を試してみよう
関連する問題