Visual Basic.NET - Busqueda Lenta

   
Vista:

Busqueda Lenta

Publicado por Damian (824 intervenciones) el 26/03/2008 13:13:40
Tengo un problema, en una caja de texto para que sea mas rapida la busqueda el usuario puede ir ingresando los caracteres de un articulo y asi el datagrid va mostrando los articulos que se acerquen a los caracteres ingresados,esto lo realice en un text_change con una consulta. El problema es que a medida que se va escribiendo los caracteres la busqueda se hace muy lenta y tarda mucho en mostrar los articulos, por lo gral pasa cuando voy borrando los caracteres de atras para adelante y vuelvo a escribir los caracteres. En la consulta puse identity para acelerar la busqueda pero su mejora fue poca. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Busqueda Lenta

Publicado por Damian (824 intervenciones) el 26/03/2008 14:37:24
No no me has entendido, nada de lo que me dijiste quiero hacer y el order by ya lo tenia realizado. Solo necesito que la busqueda no sea lenta, ya que me cuelga la maquina y eso que no son mas de 1000 registros y lo peor es que van a ser mas de esa cifra.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Busqueda Lenta

Publicado por P. J. (706 intervenciones) el 26/03/2008 15:47:37
Para hacer lo que pides, hay muchas formas.

Si quieres que se te ayude pon el codigo para ver como lo tienes hecho y ver como mejorarlo.

Salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Busqueda Lenta

Publicado por Damian (824 intervenciones) el 27/03/2008 02:16:59
Aca esta el codigo dentro del TtxtBusc_TextChanged(), como veran hay algunas variables que vienen de otro lado, cree que se entiende:

Private Sub TxtBusc_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtBusc.TextChanged

SQL = "select @@identity,CodDetArt as[Cod Art],A.Descripcion+' '+Detalle [Descripcion],Marca,Precio [Precio Contado]," _
& "PrecioLista[Precio Lista],ListaPorcentaje[Porcentaje para Lista %],PrecioXCant[Precio por Cantidad]," _
& " Descuento [Descuento en %],Existencia,Critico,C.Descripcion as Categoria,case DA.Baja when 0 then 'NO' " _
& "else 'SI' end Baja from Articulos A,Categoria C,Marcas M right join DetalleArticulo DA on " _
& "M.CodMarca=DA.CodMarca where A.Baja=0 and DA.Baja=0 and C.Baja=0 and C.CodCat=A.CodCat and A.CodArt=" _
& "DA.CodArt and A.Descripcion like'" & TxtBusc.Text & "%'"

Dim MiTabla As New DataTable
Com = New SqlCommand(SQL, MiConexion)

If MiConexion.State = ConnectionState.Open Then
MiConexion.Close()
End If
MiConexion.Open()
Rs = Com.ExecuteReader()
MiTabla.Load(Rs, LoadOption.OverwriteChanges)

DG1.DataSource = MiTabla

Rs.Close()
Cerrar()
MiConexion.Close()
MiTabla = Nothing
end sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Busqueda Lenta

Publicado por alberto (12 intervenciones) el 27/03/2008 10:01:42
Ya te he dado una posible solución, en el foro de VB Avanzado, pruebala.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Busqueda Lenta

Publicado por Damian (824 intervenciones) el 27/03/2008 13:16:11
Si alberto la vi gracias de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar