将nvarchar值转换为数据类型为int的列的语法错误

时间:2010-05-05 07:38:31

标签: asp.net vb.net drop-down-menu

我将1,2,3,4,5,6,7,8,9存储为我的数据库中Level的nvarchar。

然后我有一个值为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

1 个答案:

答案 0 :(得分:5)

通过包含level = 1,你暗示SQL需要进行数值比较,并且它试图将所有列值转换为int。如果您使用的是level = '1',则会获得没有转化的文字比较。