Delphi - problema en consulta

   
Vista:

problema en consulta

Publicado por franklin (32 intervenciones) el 29/10/2008 18:13:01
espero me puedan ayudar, el problema es que tengo una consulta realizada bajo un query y ha esta ligada un boton y un combobox, y para realizar la consulta por apellido y por nombre pero solo me aparece la consulta por nombre, cuando intento consultar por apellido no me sale nada, pero si selecciono en el combobox apellido y pongo el nombre me funciona.

que puedo hacer, el codigo que utilizo es el siguiente;

Query1.close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from table1 Where 1=1 ');
If ComboBox1.ItemIndex in [0,1] then
Query1.SQL.Add( ' and Nombre = '+QuotedStr(Edit1.text));
if ComboBox1.ItemIndex in[1,2] then
Query1.SQL.Add(' and Apellidos = '+QuotedStr(Edit1.text));
Query1.Open;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema en consulta

Publicado por pacopaz (104 intervenciones) el 29/10/2008 20:36:23
Haciendo uso de mis habilidades de vidente, tus opciones en el combo son las siguientes, según veo:
Nombre
Apellidos
Para estas, el ItemIndex es 0 y 1, respectivamente.
La solución a tus problemas está en el in [0,1] y el in [1,2], que hay que sustituirlos por =0 e =1 respectivamente.
Algo como esto:

Query1.close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from table1 Where 1=1 ');
If ComboBox1.ItemIndex = 0 then
Query1.SQL.Add( ' and Nombre = '+QuotedStr(Edit1.text));
if ComboBox1.ItemIndex = 1then
Query1.SQL.Add(' and Apellidos = '+QuotedStr(Edit1.text));
Query1.Open;

La implementación de tus consultas (creo) estpá dada para tener las siguientes posibilidades en tu combo:
Nombre
Nombre y Apellidos
Apellidos
Y aún así estaría mal implementado, por que habría que hacer alguna distinción entre las partes de nombre y apellidos o concatenar esto en el servidor.

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar