I got stuck trying to find the solution to this one, maybe someone can help?
Based on a int parameter sent from C#, the parameter used in our query should change. Pseudo code:
DECLARE @parameterFromC# int = 1
DECLARE @city1 nvarchar = 'London'
DECLARE @city2 nvarchar = 'Paris'
DECLARE @city3 nvarchar = 'New York'
DECLARE @mainParameter nvarchar
SELECT * from Customers
WHERE City = @mainParameter
When @parameterFromC# is 1, @mainParameter should be = @city1,
when @parameterFromC# is 2, @mainParameter should be = @city2 etc
My solution was to make @parameterFromC# nvarchar, send the number as string and then concatenate it with '@city'. In pseudo code it was something like this:
@mainParameter = '@city' + @parameterFromC#
I was told this is unsafe and to find some other way.
@mainParameterand bin@parameterFromC#and@City1, etc?