Ver la Versión Completa : like '1*'
Novás
09-02-2004, 11:34:37
Hola a todos los forista:
Vereis, estoy trabajando con una base de datos Access y accedo a ella mediante BDE.
Cuanto intento ejecutar una consulta como la siguiente:
sql:='Select * from Productos where RefInterna like ' + '''' + TxtPatron.Text + '*' +'''';
para un valor 1 en TxtPatron.Text no saca ningún valor mientras q en la base de datos hay registros q empiecen por 1.
¿A qué puede ser debido? Muchas gracias...
javiermorales
09-02-2004, 12:00:38
Te lo digo de memoria, pero que recuerde debes poner la comilla simple y encerrada entre comillas simples.
sql:='Select * from Productos where RefInterna like ''' + TxtPatron.Text + '*'''
Ten en cuenta que son siempre comillas simples, aunque no recuerdo si son 3 ó 4 comillas lo que hay que poner.
sql:='Select * from Productos where RefInterna like '''' + TxtPatron.Text + '*''''
Un saludo
javiermorales
09-02-2004, 12:03:26
De todas maneras si no te dá ningún mensaje de error de sintaxis con lo que hacías, puede que se resuelva utilizando en lugar de * el %, recuerdo que en algún momento me encontré con un problema parecido.
__cadetill
09-02-2004, 12:41:28
Solo añadir que, las comillas son 3 o 4 dependiendo de como se haga. Es decir, si lo haces como propone Novás son 4, pero si lo haces como propone Javier son 3. No obtante, para no liarse yo prefiero utilizar el QuotedStr o parámetros en la Query
Con QuotedStr quedaría algo así
sql := 'Select * from Productos where RefInterna like ' + QuotedStr(TxtPatron.Text + '%');
Con Parámetros quedaría algo así
Query.Sql.Text := 'Select * from Productos where RefInterna like :Texto';
Query.ParamByName('Texto').AsString := TxtPatron.Text + '%';
jpcancino
10-02-2004, 18:15:58
yo en vez de tanta comilla uso #39.
osea algo asi:
sql:='SELECT * FROM TABLA WHERE NOMBRE='+#39+EDIT1.TEXT+#39;
o en tu caso:
sql:='Select * from Productos where RefInterna like '+#39+ TxtPatron.Text +'%'+#39;
y es menos compicado en caso de que se te pierda una comilla :)
Saludos
PD: en codigo ascii #39 = '
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.