私は ac# プログラムを持っていて、ストアド プロシージャにパラメータを与えたいと思っています。私の c# プログラムの文字列は、"'Food','Clothes','Blood'" のようなものです。
ALTER PROCEDURE [dbo].[GetLocations]
@longMax float =100,
@longMin float=0,
@latMax float=100,
@latMin float=0,
@categoryFilter char(200) = ''
AS
BEGIN
SET NOCOUNT ON;
SELECT *
FROM dbo.Locations
WHERE longitude BETWEEN @longMin AND @longMax
AND latitude BETWEEN @latMin AND @latMax
AND subCategory in (@categoryFilter)
END
結果には 3 つのエントリが表示されるはずですが、結果は空です。さらに 2 つの ' を使用してパラメーターをエスケープしようとしましたが、結果は何も変わりませんでした。
他の列の int 値では機能しますが、char では機能しません。
誰かが助けることができれば、それは素晴らしいことです:)