Sin detenerme en lo comentado por los demás foristas (que estoy totalmente de acuerdo), el problema que te dá son precisamente las comillas simples que añades.
Mira la diferencia, si es un campo definido como String:
Código SQL
[-]
select * from table where codigo = '33'
Si está definido como integer, el sql debe quedar así:
Código SQL
[-]
select * from table where codigo = 33
Exactamente igual que usando filter.
Si es numérico, no tendría sentido usar el operador "Like", ya que irá a un registro que no le sirve al usuario para nada, por ejemplo busca el 33 y encuentra el 3
.
Saludos