FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
like '1*'
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...
__________________
Hay dos cosas infinitas: el Universo y la estupidez humana. http://www.cybertarjetas.net |
#2
|
||||
|
||||
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
__________________
Se hace lo que se puede que siempre es menos de lo que se dice |
#3
|
||||
|
||||
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.
__________________
Se hace lo que se puede que siempre es menos de lo que se dice |
#4
|
|||
|
|||
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í Código:
sql := 'Select * from Productos where RefInterna like ' + QuotedStr(TxtPatron.Text + '%'); Código:
Query.Sql.Text := 'Select * from Productos where RefInterna like :Texto'; Query.ParamByName('Texto').AsString := TxtPatron.Text + '%'; |
#5
|
|||
|
|||
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 = ' Última edición por jpcancino fecha: 10-02-2004 a las 18:18:00. |
|
|
|