2016-02-10 34 views
0

我正在嘗試開發軟件的一部分,它涉及objectDataSource.FilterExpression部分。當我建立過濾器我有這樣的:在FilterExpression中替換MATCH MySQL函數

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()); 

的應用程序拋出,因爲比賽的EvaluateException,所以有什麼方法可以改變它,並且具有相同的功能。

在此先感謝

+0

什麼是'odsResultados的價值.FilterExpression'正好? –

+0

odsResultados是我用來將其綁定到列表視圖的ObjectDatasource的名稱 – Charly66

+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 + "%'";