• Lunes 23 de Diciembre de 2024, 17:58

Autor Tema:  Error Al Hacer Busqueda En Un Dg  (Leído 1349 veces)

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Error Al Hacer Busqueda En Un Dg
« en: Viernes 25 de Noviembre de 2005, 17:47 »
0
Hola a todos, tengo un DG en el cual busco datos, y cuando pongo pepito, me busca todo lo relacionado a pepito, pero si le dijito pepito%palotes, ahi me da el error.

Este es el codigo que tengo.

Código: Text
  1.  
  2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  3.  
  4.         Dim ds As DataSet
  5.         Dim NOMBRE_TABLA As String = "acdoc"
  6.  
  7.         ds = emp.consulta("SELECT unique acdoccdoc,acdocnomb,acddotedo,acddocelu,acddoteof,acddonint " & _
  8.                             "FROM acdoc,acddo " & _
  9.                             "WHERE acdoccdoc = acddocdoc ")
  10.  
  11.         DataGrid1.DataSource = ds.Tables("acdoc")
  12.  
  13.         Const MESSAGEBOX_CAPTION As String = "Buscar"
  14.  
  15.         ' Sanity check to make sure there's data before attempting to
  16.         ' filter
  17.         Debug.Assert(Not ds.Tables(NOMBRE_TABLA) Is Nothing, _
  18.             "No product data loaded in ProductData.Tables(NOMBRE_TABLA)")
  19.  
  20.         With ds.Tables(NOMBRE_TABLA)
  21.             ' Filter the view so that only product names starting with a
  22.             ' specified string are available.
  23.             .DefaultView.RowFilter = "acdocnomb like '%" & TextBox1.Text & "%'"
  24.  
  25.             ' Are there any matching products?
  26.             If .DefaultView.Count = 0 Then
  27.                 MessageBox.Show("No se encontro fila alguna.", _
  28.                     MESSAGEBOX_CAPTION, _
  29.                     MessageBoxButtons.OK, _
  30.                     MessageBoxIcon.Question)
  31.             End If
  32.  
  33.             ' By binding the grid to the DataView, the grid will now display
  34.             ' only the matching rows.
  35.             DataGrid1.DataSource = .DefaultView
  36.         End With
  37.  
  38.     End Sub
  39.  
  40.  

Y el error salta en la linea:

Código: Text
  1.  
  2. .DefaultView.RowFilter = "acdocnomb like '%" & TextBox1.Text & "%'"
  3.  
  4.  

alguien me puede indicar por favor donde  esta el error??

gracias  :blink:
Sagma

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Re: Error Al Hacer Busqueda En Un Dg
« Respuesta #1 en: Viernes 2 de Diciembre de 2005, 15:30 »
0
alguin me puede dar una mano con este problema??

he visto lo de esta direccion pero no me da resultado

DataColumn.Expression Property

gracias
Sagma

Kev

  • Miembro HIPER activo
  • ****
  • Mensajes: 654
    • Ver Perfil
Re: Error Al Hacer Busqueda En Un Dg
« Respuesta #2 en: Viernes 2 de Diciembre de 2005, 19:35 »
0
Hola Sagma, como ya sabemos este problema se da por el caracter especial % ahora en consultas de datos tienes que encerrar este caracter entre corchetes


Código: Text
  1.  
  2. 'Osea, cambia % por esto --> [%]
  3.  
  4.  

En tu codigo:
Código: Text
  1.  
  2. .DefaultView.RowFilter = "acdocnomb like '%" & TextBox1.Text.Replace(Chr(37), "[%]") & "%'"
  3.  
  4.  

Ahora si tu consulta tiene corchetes tendras que usar el mismo corchete como caracter de escape:

[[] o []]

Y tambien en la consulta debes tener cuidado con el caracter * ya que da errores similares

Salu2
 :comp:
La teoria es asesinada tarde o temprano por la experiencia
Albert Einstein
Kev - 3 DCE
-----------------------------------------------------
Articulos:
Convertir texto a imagen en ASP.NET
Trabajando con el Global.asax

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Re: Error Al Hacer Busqueda En Un Dg
« Respuesta #3 en: Sábado 3 de Diciembre de 2005, 16:19 »
0
muchas gracias kev  :kicking:
Sagma