Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Busqueda de campos y mostrar en un DBGrid
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Busqueda de campos y mostrar en un DBGrid

Publicar nuevo tema Responder al tema
Foros de discusión » Microsoft SQL Server, motor de base de datos profesional   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
Sizne
Magnífico usuario


Registrado: Oct 16, 2006
Mensajes: 46

Asunto: Busqueda de campos y mostrar en un DBGrid Responder citando

Hola!

Tengo una Ttabla (Tuniversitario) con los campos IdU, CiU, NombreUniversitario, ApeUniversitario,Sexo.....CarreraUniversitario, PaisDondeEstudia, SemestralizadoAnualizado, etc....
Lo que tengo que realizar es una busqueda a través de una seleccion por decir por medio de un ComboBox, si elijo por decir del ComboBox el campo PaisDondeEstudia, con la informacion de Argentina, Ecuador, Chile, Peru, etc... de ahi elijo por decir Ecuador. En cuanto realice esa seleccion pues quiero que en un DBGrid me aparezca la informacion completa de la Ttabla TUniversitario de todos aquellos que estudian en ese Pais, en este caso Ecuador.

Solo una pauta...lo que quiero es solo me aparezca datos que algo tengan en comun en el ejmplo por medio del Pais Ecuador, mediante el usuario lo seleccione.
Quizas pueda usar RadioButtons (Pais, Semestralizado, Sexo)
Y otros ComboBox(donde pueda estar de cada Radio Buttons sus informaciones, por decir en el combobox Pais este Peru, Brasil, Paraguay...etc. y de ahi solo elijo un Pais X).


Cabe mencionar que Tuniversitario ya tiene toda la informacion, esta con informacion en otro Form.
Estoy usando SQL Server y Delphi.

Alguna idea? Por favor.
Este tipo de Búsqueda me servirá para todo.
MensajePublicado:
Lun Mar 29, 2010 7:17 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Busqueda de campos y mostrar en un DBGrid Responder citando



Anuncios



Sizne escribió:
Hola!

Tengo una Ttabla (Tuniversitario) con los campos IdU, CiU, NombreUniversitario, ApeUniversitario,Sexo.....CarreraUniversitario, PaisDondeEstudia, SemestralizadoAnualizado, etc....
Lo que tengo que realizar es una busqueda a través de una seleccion por decir por medio de un ComboBox, si elijo por decir del ComboBox el campo PaisDondeEstudia, con la informacion de Argentina, Ecuador, Chile, Peru, etc... de ahi elijo por decir Ecuador. En cuanto realice esa seleccion pues quiero que en un DBGrid me aparezca la informacion completa de la Ttabla TUniversitario de todos aquellos que estudian en ese Pais, en este caso Ecuador.

Solo una pauta...lo que quiero es solo me aparezca datos que algo tengan en comun en el ejmplo por medio del Pais Ecuador, mediante el usuario lo seleccione.
Quizas pueda usar RadioButtons (Pais, Semestralizado, Sexo)
Y otros ComboBox(donde pueda estar de cada Radio Buttons sus informaciones, por decir en el combobox Pais este Peru, Brasil, Paraguay...etc. y de ahi solo elijo un Pais X).


Cabe mencionar que Tuniversitario ya tiene toda la informacion, esta con informacion en otro Form.
Estoy usando SQL Server y Delphi.

Alguna idea? Por favor.
Este tipo de Búsqueda me servirá para todo.


Aquí contestamos a tu pregunta:

http://www.ajpdsoft.com/modules.php?name=Foros&file=viewtopic&t=1020

Es bastante "sencillo" si utilizas SQL, con la cláusula "LIKE", como te explicamos en dicho enlace.

Si pones un RadioButton y el usuario selecciona, por ejemplo, "País", en tu consulta SQL harás una comprobación, más o menos como esta:

Código:

  nombreQuery.Close;
  nombreQuery.SQL.Clear;
  nombreQuery.SQL.Add ('Select * from Tuniversitario');
  if radioButtonPais.Checked then
  begin
    nombreQuery.SQL.Add ('where PaisDondeEstudia like :pPais');
    nombreQuery.Parameters.ParamByName('pPais').DataType := ftString;
    nombreQuery.Parameters.ParamByName('pPais').Value := '%' + nombreEditPais.Text + '%';

  end;
  if radioButtonSexo.Checked then
  begin
    nombreQuery.SQL.Add ('where sexo = :pSexo');
    nombreQuery.Parameters.ParamByName('pSexo').DataType := ftString;
  nombreQuery.Parameters.ParamByName('pSexo').Value := nombreEditSexo.Text;
  end;
  nombreQuery.Open;


Más o menos sería como te hemos explicado. Como siempre no me canso de repetir que es una guía, no te coincidirán los campos ni los nombres de las tablas.

En el ejemplo anterior te he puesto dos casos:

* Para el país he puesto un "like", esto lo que hace es que si el usuario en el formulario pone "pa" (por ejemplo), buscará todos los registros cuyo campo "PaisDondeEstudia" lleve la palabra "pa", dará igual en qué posición, con lo cual mostraría tanto los de "Paraguay", como los de "España". Para esto hay que utilizar un "like" y pasarle al texto unos comodines "%".

* Para el sexo te he puesto como ejemplo un "=" esto hace que te muestre, si pones "Masculino" sólo los registros que lleven en el campo "sexo" el valor "Masculino".

Por supuesto, si quieres, puedes "acumular" filtros, es decir, podrías hacer que te mostrase los que sean de "Perú" y "Masculino", algo tan sencillo como:

Código:

...
nombreQuery.SQL.Add ('where PaisDondeEstudia like :pPais or sexo = :pSexo');
...
MensajePublicado:
Lun Abr 12, 2010 5:27 am
Top of PageVer perfil de usuario
Sizne
Magnífico usuario


Registrado: Oct 16, 2006
Mensajes: 46

Asunto: Responder citando

Hola Alonso

Muuuchas gracias eh!
MensajePublicado:
Lun Abr 12, 2010 9:10 pm
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Microsoft SQL Server, motor de base de datos profesional  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A