0

嗨,当我运行我的代码时,我收到了这个错误:

无法对 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
4

2 回答 2

1

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

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

于 2013-07-08T16:54:49.617 回答
0

您使用的是哪个版本的 SQL Server?根据 SPROC 或 TSQL 中的版本,您可以对数据运行丰富的命令,以按照您可能需要的方式对其进行操作。一个很好的例子就是。

    Select TRY_CONVERT(STRING, 12065) is Null
于 2013-07-08T19:21:25.347 回答