3

使用SqlDataSource时是这样制作的:

SqlDataSource1.SelectCommand = "SELECT field,field FROM TABLE WHERE name LIKE @name"
SqlDataSource1.SelectParameters.Clear()
SqlDataSource1.SelectParameters.Add( _
            New Parameter("name", DbType.String, "%" + TextBox1.Text + "%"))

但如果我尝试:

command.Parameters.Add( _
    New Parameter("name", SqlDbType.VarChar, "%" + TextBox1.Text + "%"))

或者

command.Parameters.Add(New Parameter("name", DbType.String, "%" + TextBox1.Text + "%"))

它失败。怎么办SqlCommand

4

2 回答 2

3

尝试像这样构造你的 sql 语句:

SELECT field,field FROM TABLE WHERE name LIKE N'%' + @name + N'%'

导致 VB 看起来像这样:

SqlDataSource1.SelectCommand = "SELECT field,field FROM TABLE WHERE name LIKE N'%' + @name + N'%'"
SqlDataSource1.SelectParameters.Clear()
SqlDataSource1.SelectParameters.Add("@Name", SqlDbType.NVarChar, 50).Value = TextBox1.Text
于 2013-09-12T16:49:28.910 回答
1

尝试以其他方式添加参数

Command.Parameters.Add("@Name", SqlDbType.VarChar).Value = "%" & TextBox1.Text & "%"

此外,为了不引起任何问题,请尝试使用&而不是+。并不是说我可以确定 % 被认为是一个数字或心律失常状况,但它似乎在这里得到了解释,好吧。

于 2013-09-12T16:32:26.680 回答