Principales respuestas
Busqueda

Pregunta
-
Buenos dias amigos. Estoy realizando una busqueda y tengo el codigo el cual me funciona muy bien. Es este:
Sql.SelectCommand.CommandText = "select * from dbo.contactos where nombre_contacto like '" & Me.txt_buscar_por_nombre.Text & "%'"
El problema es que solo me busca la primera palabra del nombre. Es decir en la Base de datos yo tengo mi campo llamado nombre_contacto, y yo tengo a "Elvin Peralta" como dato y en el buscador pongo "Elvin" me hace la busqueda, pero si pongo "Peralta" no me muestra nada. Que tendré que cambiar en el query para que me haga la busqueda tanto de nombres como apellidos?? Espero me puedan ayudar.
Elvin Peralta
Respuestas
-
Hola Elvin:
Te sugiero que dejes de concatenar los valores en las consultas sql, ya que esto vulnera a tu Bd permitienedo en algun momento dado la inyeccion de codigo malicioso SQL.
Para buscar por ambos extremos de un campo deberas de establecer el "%" en ambos lados de la asignacion.
Sql.SelectCommand.CommandText = "select * from dbo.contactos where nombre_contacto like '%" & Me.txt_buscar_por_nombre.Text & "%'"
Pero insisto, trabaja con parametros!
Saludos desde Monterrey, Nuevo León, México!!!
- Editado JoséLuisGarcía martes, 21 de mayo de 2013 16:50
- Marcado como respuesta Elvin Peralta martes, 21 de mayo de 2013 16:56
Todas las respuestas
-
Hola Elvin:
Te sugiero que dejes de concatenar los valores en las consultas sql, ya que esto vulnera a tu Bd permitienedo en algun momento dado la inyeccion de codigo malicioso SQL.
Para buscar por ambos extremos de un campo deberas de establecer el "%" en ambos lados de la asignacion.
Sql.SelectCommand.CommandText = "select * from dbo.contactos where nombre_contacto like '%" & Me.txt_buscar_por_nombre.Text & "%'"
Pero insisto, trabaja con parametros!
Saludos desde Monterrey, Nuevo León, México!!!
- Editado JoséLuisGarcía martes, 21 de mayo de 2013 16:50
- Marcado como respuesta Elvin Peralta martes, 21 de mayo de 2013 16:56
-
Algo como esto :
cmd.CommandText = "SELECT personal_id AS Codigo, nombre AS Nombre FROM Personal " + "WHERE nombre LIKE '%' + @nombre + '%'"; cmd.Parameters.AddWithValue("@nombre", nombre);
Pedro Ávila
"El hombre sabio querrá estar siempre con quien sea mejor que él."
Lima - Perú -