无法在System.Int32和System.String错误上执行'Like'操作

时间:2013-07-08 16:47:56

标签: sql vb.net string int varchar

当我运行我的代码时,我收到此错误:

  

无法在System.Int32和System.String

上执行'Like'操作

我需要一种方法来允许int和varchar但是却无法想到它的解决方案。我理解这是因为我的id选项是一个整数,但不能想到一个解决方案,真的很感谢你的帮助。

Public Class _Default
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim FilterExpression As String = String.Concat(DropDownList1.SelectedValue, " LIKE " + "'%{0}%'")
    SqlDataSource1.FilterParameters.Clear()
    SqlDataSource1.FilterParameters.Add(New ControlParameter(DropDownList1.SelectedValue, "TextBox1", "Text"))
    SqlDataSource1.FilterExpression = FilterExpression



End Sub
End Class

2 个答案:

答案 0 :(得分:1)

根据定义,LIKE是一个字符串运算符。

我建议您需要重新考虑您的设计,但如果您决定使用" LIKE"来搜索数字,则应该有一个触发器填充该字段的varchar()版本在表中。

答案 1 :(得分:0)

您使用的是哪个版本的SQL Server?根据SPROC或TSQL中的版本,您可以在数据上运行丰富的命令来操作它,就像您可能需要它一样。一个很好的例子。

    Select TRY_CONVERT(STRING, 12065) is Null