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

Phi*_*hil 0 vb.net asp.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).这通过这样的param构建一个sql查询:

"Select things From MBA_EOI Where level = 1"
Run Code Online (Sandbox Code Playgroud)

当我运行选择时,我得到以下错误:

Syntax error converting the nvarchar value '1,2,3,4,5,6,7,8,9' to a column of data type int.
Run Code Online (Sandbox Code Playgroud)

我的印象是我正在处理Nvarchar字段并将所选值作为字符串,int转换在哪里进来?

ps我也试过Level.SelectedItem.ToString

Dav*_*d M 5

通过包含level = 1你暗示SQL你想要一个数字比较,它试图将所有列值转换为整数.如果您使用的话level = '1',那么您将获得没有转换的文本比较.