Bonjour,
je débute en asp.net.
Je souhaite avoir les mêmes facilités de navigation que avec un recordset sous VB.
Aussi après avoir regarder un peu les différents sources sur le site, j'ai assemblé ce petit bout de code :
Imports System.Data.OleDb
Public Class Annuaire
Inherits System.Web.UI.Page
Private Connection As New OleDbConnection
Private myDataView As DataView
Private MyDataSet As DataSet
Private position As Integer
Public Sub connecter(ByVal nombd As String)
Try
Connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & nombd
Connection.Open()
Catch ex As Exception
lbPosition.Text = ex.Message
End Try
End Sub
Public Sub deconnecter()
Try
Connection.Close()
Catch ex As Exception
lbPosition.Text = ex.Message
End Try
End Sub
Public Function access(ByVal requetesql As String) As DataSet
Dim MyAdapter As OleDbDataAdapter = New OleDbDataAdapter
Dim MyDataSet As DataSet = New DataSet("MesDonnées")
Dim StrConnect As String
Dim MyCommand As OleDbCommand
Dim requete As String
Try
MyCommand = New OleDbCommand(requetesql, Connection)
MyAdapter.SelectCommand = MyCommand
MyDataSet.Clear()
MyAdapter.Fill(MyDataSet, "fichier")
'A ce niveau les donnes résultantes de la requete
'se trouvent dans => MyDataSet.Tables(0)
Return MyDataSet
Catch ex As Exception
lbPosition.Text = ex.Message
End Try
End Function
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Placez ici le code utilisateur pour initialiser la page
If Not Page.IsPostBack Then
connecter(Server.MapPath("DB\Base annuaire.mdb"))
position = 0
MyDataSet = access("select * from tblannu where fldnom like 'L%' order by fldNom")
deconnecter()
myDataView = New DataView(MyDataSet.Tables(0))
myDataView.Sort = "fldNom"
tbNom.Text = myDataView(0)("fldNom")
tbPrenom.Text = myDataView(0)("fldPrenom")
lbPosition.Text = "1/" & myDataView.Count
End If
End Sub
Private Sub bDebut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bDebut.Click
Affichage(0)
End Sub
Private Sub bSuivant_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bSuivant.Click
position = position + 1
Affichage(position)
End Sub
Private Sub Affichage(ByVal i As Integer)
tbNom.Text = myDataView(i)("fldNom")
tbPrenom.Text = myDataView(i)("fldPrenom")
lbPosition.Text = i + 1 & "/" & myDataView.Count
End Sub
Le problème est que dès que je clique sur le bouton Suivant, j'ai un message "
Détails de l'exception: System.NullReferenceException: La référence
d'objet n'est pas définie à une instance d'un objet."
En regardeant via l'"espion" myDataView est vide, quelqu'un peut me dire où est la grosse erreur ?
Merci pour tout aide que vous pourriez m'apporter.