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

[0] Índice de Mensajes

Ir a la versión completa