HACER UNA BUSQUEDA EN LA BD

Ricardo Cid
08 de Abril del 2004
VB 6.0
BD en SQL server

Mi duda es la siguiente tengo una agenda donde los contactos los muestro en un listview. Tengo que hacer 3 tipos de busqueda
1-por nombre
2-por apellido
3-por telefono
tengo pensado poner un textbox, luego por medio del boton 1-2-3 hace la busqueda respectiva y el resultado lo muestra en el listview
El codigo que uso es este. esta mal la sentencia sql. NECESITO QUE ME AYUDEN Y ME DIGAN COMO LA TENGO QUE USAR Y POR QUE?


sSql = "select nombre, apellido, telefono from personas where nombre like bus_nombre.text "
Set rs = CON.Execute(sSql)

Do While Not rs.EOF
Set Item = Lista.ListItems.Add(, , rs!nombre)
Item.SubItems(1) = rs!apellido
Item.SubItems(2) = rs!telefono
rs.MoveNext
Loop

Ricardo Cid
08 de Abril del 2004
RESPONDAN!!!!!!!!

mena
08 de Abril del 2004
si en efecto tiene un gran error a simple vista

Ricardo Cid
08 de Abril del 2004
GRACIAS POR DECIRME QUE TIENE UN ERROR
PERO ESO YA LO SEEEEEEEEEEEEEEEEEE

Bartolom
08 de Abril del 2004
Tranquilo hombre. Yo sé donde está el error de la sentencia SQL. Al hacer un WHERE like y compararlo con el valor de una caja de texto o un list o lo que sea, debes hacerlo así

where nombre like '" & bus_nombre.text & "'

Eso en caso de que la búsqueda sea exacta. Si la búsqueda la quieres por aproximación (por ejemplo en vez de buscar González, que te busque por Gonz, Gon, Gonza, etc), debes hacerlo así:

where nombre like '" & bus_nombre.text & "%'

Y si quieres que busque por coincidencia, por ejemplo, para buscar González, que lo encuentre por Go, Gonz, zá, zález, lez, etc), debes hacerlo así:


where nombre like '%" & bus_nombre.text & "%'

Si te fijas, el % hace de comodín, es como cuando en el sistema operativo se ocupa el asterisco *

Prueba este código y me avisa como te fue

Saludos!
Bartolom
Chile