begin process at 2012 05 27 21:07:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP / ASP3

 > 

Base de données

 > 

Access

 > 

débutant en asp.net - pb navigation dans dataview


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

débutant en asp.net - pb navigation dans dataview

mercredi 9 août 2006 à 11:04:02 | débutant en asp.net - pb navigation dans dataview

bdl20042000

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.


mercredi 9 août 2006 à 11:35:49 | Re : débutant en asp.net - pb navigation dans dataview

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Bonjour,

quand tu click sur suivant ispostback sera vrai donc mydataview sera null d'ou l'exception :-/ pour cela il faut faire un

if page.ispostback then
mondataset = chargement du dataset
session("mondsamoi") = mondataset
else
mondataset = session("mondsamoi")
end if

si tu ne sauvegardes pas ton datast entre 2 passages tu ne vas pas pouvoir y acceder :-p il ne faut pas oublier qu'a chaque requete l'instance de la page est détruite ...



Cyril - MVS - MCP
mercredi 9 août 2006 à 12:10:26 | Re : débutant en asp.net - pb navigation dans dataview

bdl20042000



Merci de cette réponse rapide.

Comment dois je faire pour avoir des variables "à porter globale" comme en VB, sans utiliser les "session" ?
Car comme pour le Dataview, je veux conserver le variable "position"
mercredi 9 août 2006 à 12:24:55 | Re : débutant en asp.net - pb navigation dans dataview

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !

Chaque Thread est killé aprés la fin de la request tu peux donc pas avoir de variable global ...

Si tu veux pas mettre dans la session tu peux le mettre en variable application, cela sera partagé pour tous les users contrairement aux variables session.


Cyril - MVS - MCP

mercredi 9 août 2006 à 13:20:20 | Re : débutant en asp.net - pb navigation dans dataview

bdl20042000

Question de débutant : où déclare t'on les variables application ?
J'ai voulu le déclarer dans global.aspx, mais dans ce cas sur ma page la variable n'est pas reconnue.


mercredi 9 août 2006 à 13:28:30 | Re : débutant en asp.net - pb navigation dans dataview

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Application("TaVariable") = taVariable

on est pas obligé de les déclarer, faut juste vérifier qu'elle existe avant de les utiliser


Cyril - MVS - MCP
mercredi 9 août 2006 à 13:56:31 | Re : débutant en asp.net - pb navigation dans dataview

bdl20042000



Encore mille merci à jesusonline pour ces réponses rapides et précises qui m'aident à mieux comprendre le fonctionnement de asp.net.


Cette discussion est classée dans : text, end, system, private, mydataview


Répondre à ce message

Sujets en rapport avec ce message

La référence d'objet n'est pas définie à une instance d'un objet [ par buze63 ] Salut G une page aspx avec un bouton et un usercontrol qui possede un label et un textbox et je voudrai que lorsque je clic sur le bouton un message a j'ai pas pu comprendre ce programme [ par lesparametresdudieu ] bonjour [^^happy13] svp vous pouvez m'aider en m'expliquant ce programme la il est relative a ado.net et vb.net (en detaille svp [^^happy13]) Imports HELP - Session et datatable [ par nerone21 ] Bonjour, J'AI VRAIMENT VRAIMENT BESOIN D'AIDE SVP. MERCI. J'ai un (voir deux) problème(s) sur le comportement d'une page qui ne se comporte pas pare Requete SQL // c# [ par jackasse ] Bonjour ts le monde . enfaite je travail sur un projet et j ai la partie gérer des utilisateurs j ai crée une Interface ihm pour pouvoir modifier aj manipulation des textbox en VC++ [ par koukou1111 ] slt, je commence un projet VC++ (application windows form) et je voodrais afficher une chaine de caractère dans un text box.voici le code: private: postbackurl et paging [ par casa51 ] probléme avec une combobox et 2 textbox [ par marssupilamis ] Bonjour tout le monde, Voilà j'espere que vous aller pouvoir m'aider. Je suis entrain de creer un petit annuaire téléphonique avec une combobox qui remplir une Bdd sql serveur a travers un formulaire Asp.net [ par maminos_ead ] Salut a tous; j'ai crée une base de donnée avec sql server a travers Visual Studio 2005 et un formulaire dans une page.aspx mais mon probelme est le La référence d'objet n'est pas définie à une instance d'un objet. [ par araniko ] bjr voila mon problem jai un datgrid et des champ textbox jai trouve un code il a l aire correct mais il me fai cette erreur La référence d'objet n'e Erreur lors d'une procédure d'insertion [ par kabrider ] Bonjour,Je debute en asp.net. Après une procédure d'Insert j'ai l'erreur suivante.Voici mon code :


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,187 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales