Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: TheGhost(Z) en 25 Noviembre 2006, 18:18 pm



Título: SQL
Publicado por: TheGhost(Z) en 25 Noviembre 2006, 18:18 pm
Hola.. aqui nuevamente amigos.. ahora se trata de hacer un consulta variables..

He visto muchos buscadores, por ejmplo de ese foro..

Para buscar un tema o caracter hay la posibilidad de buscar en Programacion, Sofware, Hacker, etc... y las opciones de busquedas se puede aplicar con unos CkeckBoxe's..

De ahi mi duda..

Pues tengo un Formulario con:
Text1: Nombre
Text2: Apelliddos
Text3: Alias
Etc..

Luego 4 Check's

Check1: Buscar en Nombres
Check2: Buscar en Apellidos
Check3: Buscar en alias


Luegon un Text5: Dato a buscar:

Si todos los Check's estarian habilidadtos (selecionados) mi consulta SQL seria:

Código:
"Select * From Clientes Where Nombre='"& Trim(Text1.Text) &"' Or Apellidos='"& Trim(Text2.Tex) &"' OR Alias='"& Trim(Text3.Text) &"'"

Todo esto Puede Funcionar con OR, pero lo que deseo es hacer una consulta similar pero con AND

Mi problema es que si m dato a buscar es:

Text1.Text: Pedro
Text2.Text: Martinez
Text3.Text: "" ' Vacio

Código:
"Select * From Clientes Where Nombre='"& Trim(Text1.Text) &"' AND Apellidos='"& Trim(Text2.Tex) &"' AND Alias='"& Trim(Text3.Text) &"'"

Lo que deseo es que como en el Text3.Text es igual a "" (vacio) omita la comparacion en ese campo. porque en esta consulta no me muestra nada, ya que no no encuentra ningun dato en el campo alias el vacio "". Me preguntaba es que si el Text3.Text="" no ponga el campo alias como creiterio de busqueda...


Título: Re: SQL
Publicado por: CeLaYa en 25 Noviembre 2006, 18:46 pm
pues lo que yo he hecho es lo siguiente:


dim Consulta as String

Consulta = "SELECT * FROM Tabla "


if checkbox1.Value = 1 then consulta = consulta & " Nombre = '" & trim(text1.text) & "', "
if checkbox2.Value = 1 then consulta = consulta & " Apellidos = '" & trim(text2.text) & "', "
if checkbox3.Value = 1 then consulta = consulta & " Alias = '" & trim(text3.text) & "'"

if right(consulta,2) = ", " then consulta = mid(consulta, 1, len(consulta)-2)

consulta = consulta & ";"

y con eso queda listo, a ver si te sirve


Título: Re: SQL
Publicado por: TheGhost(Z) en 25 Noviembre 2006, 20:18 pm
Sabes. no me salio como queria, pero gracias a tu ejemplo pude jugar con las variabels.. es que nosa sabia que toda una consulta se podia guardar en ua variable..

Gracias!