Recent

Author Topic: Consulta sql a partir de un Tedit  (Read 570 times)

soymoe

  • New member
  • *
  • Posts: 17
Consulta sql a partir de un Tedit
« on: January 19, 2019, 09:32:04 pm »
Hola, quiero hacer una consulta de un campo CUIL/CUIT a partir del texto de un Tedit, el campo CUIL/CUIT es entero, trate con esto pero me da error
Code: Pascal  [Select]
  1.           ZQueryBusqueda.Close;
  2.           ZQueryBusqueda.sql.Clear;
  3.           ZQueryBusqueda.sql.Add('SELECT * FROM personas WHERE CUIL/CUIT LIKE '+'%'+EditBusqueda.Text);
  4.           ZQueryBusqueda.Open;
  5.           ZQueryBusqueda.Open;        

GAN

  • Full Member
  • ***
  • Posts: 202
Re: Consulta sql a partir de un Tedit
« Reply #1 on: January 19, 2019, 11:19:11 pm »
Hola, seguro que como nombre de campo podes usar la bara / ? Creo que no, yo cambiaría a CUIT o CUITOCUIL, de todas formas el nro. es el mismo y tengo entendido que el CUIL ya no se usará más, directamente el CUIT.

En cuanto a la consulta se puede simplificar quitando sql.Clear y usando sql.Text en lugar de sql.Add.

En cuanto al operador LIKE es solo para strings o sea que deberías primero tratar al entero como cadena, con CAST.

Code: Pascal  [Select]
  1. 'SELECT * FROM personas WHERE CAST(CUIT AS TEXT) LIKE '+'%'+EditBusqueda.Text'

O

Code: Pascal  [Select]
  1. 'SELECT * FROM personas WHERE CAST(CUIT AS VARCHAR(11)) LIKE '+'%'+EditBusqueda.Text'

Otra opción es guardar el nro. CUIT como texto, te recomiendo siempre usar VARCHAR con la cantidad de caracteres en lugar de TEXT, te evitará luego problemas con por ejemplo DBGrid.

Saludos.
Lazarus 1.6 FPC 3.0.0 Linux Mint Mate 17.2 x86_64 GTK-2
Zeos 7.1.3 - Sqlite 3.8.2

Foro Lazarus en español http://forum.lazarus.freepascal.org/index.php/board,73.0.html