Programación General > C++ Builder
Consulta Sql
(1/1)
aguilot_21:
Buenas,
Tengo un problema con una consulta. Necesito que pasando los primeros caracteres del parametro cliente me retorne todos los clientes que empiecen por esos caracteres.
Ahora lo hago asi, pero solo me funciona con el texto completo:
CClients->Active = false;
CClients->Close();
CClients->SQL->Clear();
CClients->SQL->Add ("SELECT Clientes.Codigo, Clientes.Nombre FROM Clientes WHERE Clientes.Nombre=:C");
CClients->Prepare();
CClients->ParamByName("C")->AsString = Cliente;
CClients->Open();
Gracias
mumo:
CClients->Close();
CClients->SQL->Clear();
CClients->SQL->Add ("SELECT Clientes.Codigo, Clientes.Nombre FROM Clientes WHERE Clientes.Nombre LIKE '%"+Cliente+"%' ");
CClients->Open();
juanma:
Hola,
Solo hacer una pequeña puntualizacion al mensaje de mumo.
Si busca que comience el campo por el/los caracteres determinados el primer % debes quitarlo, quedando la consulta:
CClients->SQL->Add ("SELECT Codigo, Nombre FROM Clientes WHERE Nombre LIKE '"+Cliente+"%' ");
Tambien decirte que el Like segun que motor de datos SQL uses, pueden variar los comodines e incluso como ocurre en Informix sería:
CClients->SQL->Add ("SELECT Codigo, Nombre FROM Clientes WHERE Nombre MACHES '"+Cliente+"*' ");
Saludos
Juanma
JuanK:
Bienvenido Juanma, siempre es gratificante recibir personas que colaboren :lol:
Navegación
Ir a la versión completa