2010-05-05 2 views
0

У меня есть 1,2,3,4,5,6,7,8,9, хранящийся как nvarchar внутри Уровня в моем db.Ошибка синтаксиса, преобразующая значение nvarchar в столбец типа данных int

У меня тогда есть выпадающий список со значениями 1,2,3,4,5,6,7,8,9. Когда пользователь делает выбор (то есть 1) (Level.SelectedValue.ToString). Это создает запрос SQL с помощью пар, как это:

"Select things From MBA_EOI Where level = 1" 

Когда я бег выбери я получаю следующее сообщение об ошибке:

Syntax error converting the nvarchar value '1,2,3,4,5,6,7,8,9' to a column of data type int. 

Я был под впечатлением, что я имел дело с полем NVARCHAR и выбранное значение как строка, в которое входит преобразование int?

p.s Я также попытался Level.SelectedItem.ToString

+0

Я не совсем уверен, что вы пытаетесь сделать с этим запросом. Если 1,2,3,4,5,6,7,8,9 все хранятся в том же поле, что бы выбрать, где «1,2,3,4,5,6,7,8,9 '=' 1 ', чтобы достичь? –

ответ

5

level = 1 Включив вы намекаете на SQL, которые вы хотите числовое сравнение, и он пытается бросить все значения столбцов Интс. Если вместо этого вы использовали level = '1', вы получите текстовое сравнение без преобразования.

+0

Спасибо за объяснение Дэвид. – Phil

Смежные вопросы