SqlCommand Параметр еды + - PullRequest
       11

SqlCommand Параметр еды +

0 голосов
/ 17 сентября 2010

У меня есть это:

string a = "a+a";
SqlCommand q = new SqlCommand("SELECT * FROM table WHERE a = @a", conn);
q.Parameters.AddWithValue("@a", a);

Но параметризация полностью стирает + из a, оставляя мне a a вместо желаемого a+a Мне нужно это + на месте; Я просто хочу, чтобы это сбежало, а не удалено.

Есть ли способ сказать C #, чтобы он убирал + вместо того, чтобы стирать его? Я использую .NET Framework 2.0, и у меня нет возможности обновиться.

Ответы [ 3 ]

1 голос
/ 17 сентября 2010

вместо этого попробуйте

q.Parameters.Add( "@a", SqlDbType.Text ).Value = a;

Просто убедитесь, что это проблема

1 голос
/ 17 сентября 2010

Вам необходимо явно установить тип данных для параметра

0 голосов
/ 30 сентября 2010

Спасибо всем. Я точно не знаю, что здесь произошло, но в итоге я просто заменил все знаки + на нули перед сохранением.

Я думаю, что помню, как перенес эту переменную в строку запроса, но точно не помню. Если я это сделал, то, вероятно, плюс был съеден парсером qs, а не кодом параметризации. Вы можете проверить это.

Я не пытался указать тип данных, потому что я спешил, и замена + на то, что не съедается, как 0, была самым быстрым решением.

Еще раз спасибо всем авторам.

...