Visual Basic.NET - Llamar Datos

   
Vista:

Llamar Datos

Publicado por Pinky (104 intervenciones) el 24/07/2010 22:35:46
Hola amigos del foro mi consulta es la siguinete pretendo llamar los datos a través de una caja de texto solamente ingresando la primera letra del nombre del proveedor a través de la sentencia Like me arroje todos los nombres de los proveedores que empicen con esa letra por ej. "a", y que me los muestre en una grilla, hago mención que utiixo el VB.2008 y la grilla la trabajo con el Gridview este es el código que estoy utilizando actualmente.
Imports System.Data
Imports System.Data.SqlClient
Imports System.Xml

Partial Class Frmconsulproveedor
Inherits System.Web.UI.Page
Public conn As New SqlClient.SqlConnection("data source = (local);Initial Catalog=Sistema;Integrated Security=True")
Public ds As New Data.DataSet
Public da As Data.SqlClient.SqlDataAdapter
Public edit_mode As Boolean = False

Sub llenar_grilla(Optional ByVal opcion As String = "")
Dim valor As String
If opcion = "" Then
If CheckBox1.Text = "---" Then
valor = TXTPROVEEDOR.Text
Else
valor = CheckBox1.Text
End If
Else
valor = opcion
End If

Try
da = New Data.SqlClient.SqlDataAdapter("Select * From Proveedores where Nombre_Proveedor = '" + valor.ToString + "' ", conn)
da.MissingSchemaAction = MissingSchemaAction.AddWithKey
Dim builder As Data.SqlClient.SqlCommandBuilder = New SqlClient.SqlCommandBuilder(da)
Dim ds As New DataSet
da.Fill(ds, "Grilla")
Dim vista As DataView = New DataView(ds.Tables("Grilla"), " ", "Nombre_Proveedor asc", DataViewRowState.CurrentRows)
Grilla.DataSource = vista
Grilla.DataBind()
Session.Add("tabla", ds)
Session.Add("cmd", builder)
Catch ex As Data.SqlClient.SqlException
MsgBox("Error:" & vbCrLf & ex.Message, MsgBoxStyle.Critical, "Sistema")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
conn.Open()
If Not Me.Page.IsPostBack Then
llenar_grilla()
End If
Dim HOY As Date
Dim Fecha As String
HOY = Now
Fecha = Format(HOY, "dd/MM/yyyy")
LABELFECHA.Text = Fecha
LABELFECHA.Text = Fecha
TXTPROVEEDOR.Focus()
End Sub

Protected Sub TXTPROVEEDOR_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TXTPROVEEDOR.TextChanged
If TXTPROVEEDOR.Text = "" Then
da = New SqlDataAdapter("select * from Proveedores", conn)
ds = New DataSet
da.Fill(ds, "Proveedores")
Grilla.DataSource = ds
Grilla.DataMember = "Proveedores"
Else
da = New SqlDataAdapter("select Nombre_Proveedor,Rut_Proveedor from Proveedores where Nombre_Proveedor like '% " & TXTPROVEEDOR.Text.Trim & "%'; ", conn)
ds = New DataSet
da.Fill(ds, "Proveedores")
Grilla.DataSource = ds
Grilla.DataMember = "Proveedores"
End If
End Sub
ojala que me puedan ayudar uy mencionarme en done esta el error que estoy cometiendo, desde ya muchas 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
Imágen de perfil de roger

RE:Llamar Datos

Publicado por roger (186 intervenciones) el 25/07/2010 01:53:03
en la consulta where Nombre_Proveedor like '% " & TXTPROVEEDOR.Text.Trim & "%'
Tienes un espacio que no debe ir luego del primer %. Debe ser where Nombre_Proveedor like '%" & TXTPROVEEDOR.Text.Trim & "%'

saludos
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:Llamar Datos

Publicado por Pinky (104 intervenciones) el 27/07/2010 03:31:14
Roger lo givce como me lo mencionaste , pero sigue sin sin mostarme los datos en la grilla, favor de indicarme en donde esta el error, como te envíe el código que estoy utilizando esta bien así en cargar la grilla a través de una caja de texto, favor de ayudarme
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:Llamar Datos

Publicado por Damian (824 intervenciones) el 30/07/2010 15:19:13
Aparentemente es eso de los espacios ya que en la parte del like te tiene que quedar asi "like 'txtTexto.text%'"
Porque no pones un punto de interrupcion y asi vas viendo como se va cargando todo, sino ya veras donde esta el error.
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