过滤数据时缺少操作数错误

时间:2016-06-28 07:13:47

标签: asp.net webforms

我在尝试过滤数据时遇到此错误:Server Error in '/' Application. Syntax error: Missing operand after ''%1%'' operator.

这是产生问题的代码:

protected void Page_Load(object sender, EventArgs e)
{
    using (con = new OleDbConnection(@"PROVIDER=Microsoft.ACE.OLEDB.12.0;" + @"DATA SOURCE= C:\Users\ASAD\Docements\Student.accdb")) ;
}
protected void Button1_Click(object sender, EventArgs e)
{
    string FilterExpression = string.Concat(DropDownList1.SelectedValue, "LIKE '%{0}%'"); 
    SqlDataSource1.FilterParameters.Clear();
    SqlDataSource1.FilterParameters.Add(new ControlParameter( DropDownList1.SelectedValue, "TextBox1", "Text" ));
    SqlDataSource1.FilterExpression = FilterExpression;
}

1 个答案:

答案 0 :(得分:0)

我认为您在关键字public class RequestHandler : DelegatingHandler { protected override async Task<HttpResponseMessage> SendAsync( HttpRequestMessage request, CancellationToken cancellationToken) { //my code } } 之前错过了一个空格:

LIKE

如果您选择的值为“BOB”,则表达式将导致BOBLIKE'%1%'而不是BOB LIKE'%1%'。

此外,根据DropDownList的内容和上下文,您可能需要引用该值。