Ver Mensaje Individual
  #4  
Antiguo 29-06-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Es algo extraño el error, pero lo cierto es que ahora que veo con más detalle, noto que estás usando el operador = en lugar de like como debería ser. Además, lo del substring no es necesario.

Veamos. Fíjate que en tu primer caso (que el campo contenga un texto determinado) tienes una consulta así (obviando la parte de mayúsculs/minúsculas):

Código SQL [-]
select * from TITULOS where (NomTit like :cCadena)

Y que busque el texto contenido lo logras rodeando de comodines el parámetro:

Código Delphi [-]
ParamByName('cCadena').AsString := '%' + cCadena + '%':

Ahora bien, para el segundo caso (que el campo comience con un texto determinado) tu consulta puede ser la misma:

Código SQL [-]
select * from TITULOS where (NomTit like :cCadena)

La diferencia está al sustituir el parámetro. Ahí sólo usas el comodín final:

Código Delphi [-]
ParamByName('cCadena').AsString := cCadena + '%':

Con esto no deberías tener problema.

// Saludos
Responder Con Cita