ASP.NET - Ayuda con Datagrid please

 
Vista:

Ayuda con Datagrid please

Publicado por Luis Milanca (8 intervenciones) el 23/06/2006 20:11:11
hola a todos, soy nuevo en esto de asp.net y estoy intentando mostrar datos en un datagrid, estos datos se deben originar con un dato introducido en un textbox

este es mi codigo:
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Data
Imports System.Data.OleDb

Public Class califica
Inherits System.Web.UI.Page
Public conn As OleDbConnection = New OleDbConnection
Public adaptador As OleDbDataAdapter
Public datos As DataSet
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
Public ruta As String

ruta = App_Path() & "califica.mdb"

On Error Resume Next
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ruta
REM 'adaptador = New OleDbDataAdapter("SELECT * FROM califica ORDER BY nombre", conn)
adaptador = New OleDbDataAdapter("SELECT ASIGNATURA, NOTA1, NOTA2, NOTA3, NOTA4, NOTA5, NOTA6, NOTA7, NOTA8, NOTA9, NOTA10 FROM califica where nombre='" & Me.textbox2.Text, conn)
datos = New DataSet
conn.Open()
adaptador.Fill(datos, "califica") ME DA UN ERROR ACA
DataGrid1.DataSource = datos.Tables("califica")
DataBind()
conn.Close()

EL APP_PATH() ME ENTREGA LA RUTA DE DONDE SE EJECUTA LA APLICACION
Public Function App_Path() As String
Return System.AppDomain.CurrentDomain.BaseDirectory()
End Function
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:Ayuda con Datagrid please

Publicado por Pablo Iñareta (224 intervenciones) el 28/06/2006 12:57:34
no le pases el nombre de la tabla al metodo fill, no hace falta, de hecho no se como no te falla la compilacion. tampoco hace falta q lo especifiques en el datasource, solo es preciso cuando el dataSet tiene mas de una tabla
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

Sigue sin funcionar

Publicado por Pablo Iñareta o quien me ayude (8 intervenciones) el 28/06/2006 15:12:48
le hago los cambios que me dice Pablo Iñareta y sigue sin funcionar, en realidad ya no marca error sino que simplemente no muestra datos.

lo que necesito hacer es que mediante un nombre introducido en un textbox me muestre datos relacionados con el nombre introducido en el textbox:
¿Cómo hago la consulta SQL???? please

este es mi codigo:
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Data
Imports System.Data.OleDb

Public Class califica
Inherits System.Web.UI.Page
Public conn As OleDbConnection = New OleDbConnection
Public adaptador As OleDbDataAdapter
Public datos As DataSet
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
Public ruta As String

ruta = App_Path() & "califica.mdb"

On Error Resume Next
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ruta
REM 'adaptador = New OleDbDataAdapter("SELECT * FROM califica ORDER BY nombre", conn)
adaptador = New OleDbDataAdapter("SELECT ASIGNATURA, NOTA1, NOTA2, NOTA3, NOTA4, NOTA5, NOTA6, NOTA7, NOTA8, NOTA9, NOTA10 FROM califica where nombre='" & Me.textbox2.Text, conn)
datos = New DataSet
conn.Open()
adaptador.Fill(datos, "califica") ME DA UN ERROR ACA (elimine esta linea y no muestra nada)
DataGrid1.DataSource = datos.Tables("califica")
DataBind()
conn.Close()

EL APP_PATH() ME ENTREGA LA RUTA DE DONDE SE EJECUTA LA APLICACION

Public Function App_Path() As String
Return System.AppDomain.CurrentDomain.BaseDirectory()
End Function

Gracias...
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:Sigue sin funcionar

Publicado por josu (89 intervenciones) el 30/06/2006 13:22:49
hola yo soy bastante novato todavia pero puede que el error este en la forma que le das el parametro a la clausula where es decir, que esto:where nombre='" & Me.textbox2.Text no esta bien echo.

esta seria la forma de parametrizar la clausula where para oledb(te pongo un ejemplo de los que tengo yo por que tu no usas olebdcomand y no se como seria sin ello ya te e dicho que soy un novatin todavia):

Dim oDa As New OleDb.OleDbDataAdapter
Dim oCmd As New OleDb.OleDbCommand
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ruta
Conn.Open()
oCmd.CommandText ="SELECT * FROM califica where nombre=? ORDER BY nombre"
oCmd.Parameters.Add("@p1", OleDbType.Char).Value =Me.textbox
oCmd.Connection = oConn
oDa.SelectCommand = oCmd
adaptador.Fill(datos) // si quitas esta linea no llenas el dataset que es precisamente donde se almacenan los dato de tu consulta.

recuerda tambien, aunque ya lo sabras, que tienes dos datatables en tu dataset
datos.tables(0)...
datos.tables(1)...

espero que te sirva de ayuda un saludo.
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