views:

148

answers:

1

I have 1,2,3,4,5,6,7,8,9 stored as nvarchar inside Level in my db.

I then have a dropdownlist with values 1,2,3,4,5,6,7,8,9. When a user makes a selection (i.e 1) (Level.SelectedValue.ToString). This builds an sql query via a param like this:

"Select things From MBA_EOI Where level = 1"

When I run the select I get the following error:

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

I was under the impression that I was dealing with an Nvarchar field and the selected value as string, where does the int conversion come in?

p.s I have also tried Level.SelectedItem.ToString

+2  A: 

By including level = 1 you are implying to SQL that you want a numeric comparison, and it's attempting to cast all the column values to ints. If you used level = '1' instead, you'd get a text comparison with no conversion.

David M
Thanks for the explanation David.
Phil