我正在尝试开发一个软件的一部分,其中包含objectDataSource.FilterExpression。当我构建过滤器时,我有这个:
if (!txtBuscador.Text.Equals(String.Empty))
{
filtro += " AND MATCH(codigo_fichero, codigo_colectivo, codigo_ambito, codigo_area, titulo, resumen, palabras_clave, descriptores) AGAINST (\"" + txtBuscador.Text + "\" IN BOOLEAN MODE)";
}
一切顺利,当我逐步调试时,我就在这一点上:
contador = Convert.ToInt32(ds.Tables[0].Compute("COUNT(nserie)", odsResultados.FilterExpression).ToString());
由于MATCH,应用程序抛出一个EvaluateException,所以有没有办法改变它并具有相同的功能。
提前致谢
答案 0 :(得分:0)
MATCH不能使用FilterExpression,所以我不得不用另一个表达式替换它,在我的情况下使用OR ...
filtro += " AND codigo_fichero LIKE '%" + txtBuscador.Text + "%' OR codigo_colectivo LIKE '%" + txtBuscador.Text + "%' OR codigo_ambito LIKE '%" + txtBuscador.Text + "%' OR codigo_area LIKE '%" + txtBuscador.Text + "%' OR titulo LIKE '%" + txtBuscador.Text + "%' OR resumen LIKE '%" + txtBuscador.Text + "%'";