CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 Error Al Hacer Busqueda En Un Dg

(1/1)

Sagma:
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 --- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click         Dim ds As DataSet        Dim NOMBRE_TABLA As String = "acdoc"         ds = emp.consulta("SELECT unique acdoccdoc,acdocnomb,acddotedo,acddocelu,acddoteof,acddonint " & _                            "FROM acdoc,acddo " & _                            "WHERE acdoccdoc = acddocdoc ")         DataGrid1.DataSource = ds.Tables("acdoc")         Const MESSAGEBOX_CAPTION As String = "Buscar"         ' Sanity check to make sure there's data before attempting to        ' filter        Debug.Assert(Not ds.Tables(NOMBRE_TABLA) Is Nothing, _            "No product data loaded in ProductData.Tables(NOMBRE_TABLA)")         With ds.Tables(NOMBRE_TABLA)            ' Filter the view so that only product names starting with a            ' specified string are available.            .DefaultView.RowFilter = "acdocnomb like '%" & TextBox1.Text & "%'"             ' Are there any matching products?            If .DefaultView.Count = 0 Then                MessageBox.Show("No se encontro fila alguna.", _                    MESSAGEBOX_CAPTION, _                    MessageBoxButtons.OK, _                    MessageBoxIcon.Question)            End If             ' By binding the grid to the DataView, the grid will now display            ' only the matching rows.            DataGrid1.DataSource = .DefaultView        End With     End Sub  
Y el error salta en la linea:


--- Código: Text --- .DefaultView.RowFilter = "acdocnomb like '%" & TextBox1.Text & "%'"  
alguien me puede indicar por favor donde  esta el error??

gracias  :blink:

Sagma:
alguin me puede dar una mano con este problema??

he visto lo de esta direccion pero no me da resultado

DataColumn.Expression Property

gracias

Kev:
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 --- 'Osea, cambia % por esto --> [%]  
En tu codigo:

--- Código: Text --- .DefaultView.RowFilter = "acdocnomb like '%" & TextBox1.Text.Replace(Chr(37), "[%]") & "%'"  
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:

Sagma:
muchas gracias kev  :kicking:

Navegación

[0] Índice de Mensajes

Ir a la versión completa