Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

GESTION ECOLE ISGI MARRAKECH BY OUKOUJANE EL MUSTAPHA


Information sur la source

Description

Exercices ASP.NET – Gestion de notes
Thèmes : Bases de données, SQL, ASP.NET
Niveau : débutant
Durée : 4 / 8 h


En tant que débutant en développement  Web (ASP.NET)  il faut travailler le maximum possible des exemples  avec différentes  façons.
Ici on prend l’exemple de gestion d’une école en trois exercices avec une base de données sur SQL Server selon cette  structure

 

Source

  • Utiliser le nom d’espace suivant
  • Imports System.Data.SqlClient
  • Dans l’Evenement session_start du fichier global.asax
  • Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
  • Dim cn As New SqlClient.SqlConnection
  • Session("con") = cn
  • cn.ConnectionString = "server=(local);integrated security=sspi;initial catalog=ecole"
  • cn.Open()
  • End Sub
  • Dans l’Evenement Evenement session_end du fichier global.asax
  • Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
  • CType(Session("con"), SqlConnection).Close()
  • End Sub
  • Dans l’Evenement load de la Page de démarrage
  • Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  • If Not IsPostBack Then
  • Try
  • Dim dr As SqlDataReader
  • Dim cmd As New SqlCommand
  • cmd.CommandText = "select * from classes"
  • cmd.Connection = CType(Session("con"), SqlConnection)
  • dr = cmd.ExecuteReader
  • While dr.Read
  • DropDownList1.Items.Add(dr(0) & " : " & dr(1))
  • DropDownList1.DataBind()
  • End While
  • dr.Close()
  • Catch ex As Exception
  • Label2.Text = ("erreur :" & ex.Message)
  • End Try
  • End If
  • End Sub
  • Dans l’Evenement linkbutton1_click
  • Private Sub LinkButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton1.Click
  • Try
  • Dim nr As String
  • nr = DropDownList1.SelectedItem.Value
  • Dim ch() As String = nr.Split(":")
  • Dim cmd As New SqlCommand
  • Dim dr As SqlDataReader
  • cmd.CommandText = "select * from eleves where id_classe=" & "'" & ch(0) & "'"
  • cmd.Connection = CType(Session("con"), SqlConnection)
  • dr = cmd.ExecuteReader
  • ListBox1.Items.Clear()
  • While dr.Read
  • ListBox1.Items.Add(dr(1))
  • ListBox1.DataBind()
  • End While
  • dr.Close()
  • Label3.Text = ListBox1.Items.Count & " :" & " Etudiants dans la classe " & ch(1)
  • Catch ex As Exception
  • Label2.Text = ("erreur: " & ex.Message)
  • End Try
  • End Sub
  • Dans l’Evenement load :
  • Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  • If Not IsPostBack Then
  • Dim cmdc As New SqlCommand
  • Dim cmdmat As New SqlCommand
  • cmdc.CommandText = "select * from classes "
  • cmdmat.CommandText = "select * from matieres "
  • cmdc.Connection = CType(Session("con"), SqlConnection)
  • cmdmat.Connection = CType(Session("con"), SqlConnection)
  • Dim drc As SqlDataReader
  • drc = cmdc.ExecuteReader
  • While drc.Read
  • listeclasses.Items.Add(drc(0) & " : " & drc(1))
  • End While
  • drc.Close()
  • Dim drmat As SqlDataReader
  • drmat = cmdmat.ExecuteReader
  • While drmat.Read
  • listematieres.Items.Add(drmat(0) & " : " & drmat(1))
  • End While
  • drmat.Close()
  • End If
  • End Sub
  • Evénement l LinkButton1_Click:
  • Private Sub LinkButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton1.Click
  • Dim moy As Double = 0
  • Dim min As Double = 20
  • Dim max As Double = 0
  • Dim ecart As Double = 0
  • Dim sw, sz As Double
  • Dim etudmax, etudmin As String
  • 'on recupere l'element sélectionne dans le combos
  • 'concernant les classes mais sous forme 1:tsdi3
  • Dim idcl As String = listeclasses.SelectedItem.Value
  • 'de meme pour les matieres
  • Dim idmat As String = listematieres.SelectedItem.Value
  • 'il faut decouper la chaine et la mettre dans un tableau
  • 'a l'aide de la methode split
  • Dim tabcl() As String = idcl.Split(":")
  • Dim tabmat() As String = idmat.Split(":")
  • Dim cmd As New SqlCommand
  • cmd.CommandType = CommandType.StoredProcedure
  • cmd.CommandText = "meseleves"
  • ‘meselves est une procedure stockee sur sql server comme suivant:
  • ‘’’’’’’’’’’’’’’’’’’’’’’’’’’’procédure stockée’’’’’’’’’’’’
  • CREATE proc meseleves(@idclasse int,@idmatiere int) as
  • select eleves.prenom,eleves.nom,notes.note from notes
  • inner join ( eleves inner join classes on classes.id=eleves.id_classe)
  • on eleves.id=notes.id_eleve
  • where notes.id_matiere=@idmatiere and classes.id=@idclasse
  • GO
  • ‘’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’
  • Dim p1 As New SqlParameter("@idclasse", SqlDbType.Int)
  • Dim p2 As New SqlParameter("@idmatiere", SqlDbType.Int)
  • p1.Value = tabcl(0)
  • p2.Value = tabmat(0)
  • cmd.Parameters.Add(p1)
  • cmd.Parameters.Add(p2)
  • cmd.Connection = CType(Session("con"), SqlConnection)
  • Dim dr As SqlDataReader
  • dr = cmd.ExecuteReader
  • ListBox1.Items.Clear()
  • While dr.Read
  • ListBox1.Items.Add(dr(0) & " " & dr(1) & " : " & dr(2))
  • ecart = ecart + dr(2) * dr(2)
  • If dr(2) > max Then
  • max = dr(2)
  • etudmax = dr(1) & " " & dr(0)
  • End If
  • If dr(2) <= min Then
  • min = dr(2)
  • etudmin = dr(1) & " " & dr(0)
  • End If
  • moy = moy + dr(2)
  • End While
  • sw = moy * moy
  • sz = ListBox1.Items.Count * ListBox1.Items.Count
  • Label7.Text = moy / ListBox1.Items.Count
  • Label8.Text = ecart / ListBox1.Items.Count - sw / sz
  • Label9.Text = max & " obtenue par :" & etudmax
  • Label10.Text = min & " obtenue par :" & etudmin
  • dr.Close()
  • End Sub
  • Dans événement load de la page courante mettre :
  • Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  • If Not IsPostBack Then
  • Dim cmdc As New SqlCommand
  • Dim cmdmat As New SqlCommand
  • cmdc.CommandText = "select * from classes "
  • cmdc.Connection = CType(Session("con"), SqlConnection)
  • Dim drc As SqlDataReader
  • drc = cmdc.ExecuteReader
  • While drc.Read
  • listeclasses.Items.Add(drc(0) & " : " & drc(1))
  • End While
  • drc.Close()
  • End If
  • End Sub
  • Dans l’événement linkboutton (afficher les élèves):
  • Private Sub LinkButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton2.Click
  • listeeleves.Items.Clear()
  • Dim d As String = listeclasses.SelectedItem.Value
  • Dim sss() As String = d.split(":")
  • Dim cmd As New SqlCommand
  • Dim cmdmat As New SqlCommand
  • cmd.CommandText = "select * from eleves where id_classe=" & sss(0)
  • cmd.Connection = CType(Session("con"), SqlConnection)
  • Dim dr As SqlDataReader
  • dr = cmd.ExecuteReader
  • While dr.Read
  • listeeleves.Items.Add(dr(0) & " : " & dr(1))
  • End While
  • dr.Close()
  • End Sub
  • Dans l’événement linkboutton (afficher les notes):
  • Private Sub LinkButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton1.Click
  • Dim moy As Double = 0
  • Dim sw, sz As Double
  • Dim etudmax, etudmin As String
  • 'On recupere l'element selectionne dans le combos
  • 'Concernant les classes mais sous forme 1:tsdi3
  • Dim idcl As String = listeclasses.SelectedItem.Value
  • 'de meme pour les matieres
  • Dim idelv As String = listeeleves.SelectedItem.Value
  • 'Il faut decouper la chaine et la mettre dans un tableau
  • 'a l'aide de la methode split
  • Dim tabcl() As String = idcl.Split(":")
  • Dim tabelv() As String = idelv.Split(":")
  • Dim cmd As New SqlCommand
  • cmd.CommandType = CommandType.StoredProcedure
  • cmd.CommandText = "mesnotes"
  • ’’’’’’’’’’’ps :mesnotes’’’’’’’’’’’’’’’’’’’’’
  • CREATE proc mesnotes(@idclasse int,@ideleve int) as
  • Select matieres.nom,notes.note from matieres inner join (notes inner join eleves on eleves.id=notes.id_eleve)
  • on matieres.id=notes.id_matiere
  • where eleves.id=@ideleve and eleves.id_classe=@idclasse
  • GO
  • ‘’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’
  • Dim p1 As New SqlParameter("@idclasse", SqlDbType.Int)
  • Dim p2 As New SqlParameter("@ideleve", SqlDbType.Int)
  • p1.Value = tabcl(0)
  • p2.Value = tabelv(0)
  • cmd.Parameters.Add(p1)
  • cmd.Parameters.Add(p2)
  • cmd.Connection = CType(Session("con"), SqlConnection)
  • Dim dr As SqlDataReader
  • dr = cmd.ExecuteReader
  • ListBox1.Items.Clear()
  • While dr.Read
  • ListBox1.Items.Add(dr(0) & " : " & dr(1))
  • moy = moy + dr(1)
  • End While
  • Label7.Text = moy / ListBox1.Items.Count
  • dr.Close()
  • End Sub
Utiliser le nom d’espace suivant
Imports System.Data.SqlClient


  Dans l’Evenement session_start du fichier global.asax

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
        Dim cn As New SqlClient.SqlConnection
        Session("con") = cn

      cn.ConnectionString = "server=(local);integrated security=sspi;initial catalog=ecole"

        cn.Open()
    End Sub


Dans l’Evenement Evenement session_end du fichier global.asax

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)

        CType(Session("con"), SqlConnection).Close()

    End Sub


Dans l’Evenement  load de la Page de démarrage

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If Not IsPostBack Then

            Try


                Dim dr As SqlDataReader
                Dim cmd As New SqlCommand
                cmd.CommandText = "select * from classes"
                cmd.Connection = CType(Session("con"), SqlConnection)

                dr = cmd.ExecuteReader
                While dr.Read
                    DropDownList1.Items.Add(dr(0) & "  : " & dr(1))
                    DropDownList1.DataBind()

                End While
                dr.Close()
            Catch ex As Exception
                Label2.Text = ("erreur :" & ex.Message)
            End Try
        End If
    End Sub

Dans l’Evenement linkbutton1_click

Private Sub LinkButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton1.Click
        Try
            Dim nr As String
            nr = DropDownList1.SelectedItem.Value
            Dim ch() As String = nr.Split(":")


            Dim cmd As New SqlCommand
            Dim dr As SqlDataReader
            cmd.CommandText = "select * from eleves where id_classe=" & "'" & ch(0) & "'"
            cmd.Connection = CType(Session("con"), SqlConnection)
            dr = cmd.ExecuteReader
            ListBox1.Items.Clear()
            While dr.Read
                ListBox1.Items.Add(dr(1))
                ListBox1.DataBind()
            End While
            dr.Close()

            Label3.Text = ListBox1.Items.Count & " :" & " Etudiants dans la classe    " & ch(1)
        Catch ex As Exception
            Label2.Text = ("erreur: " & ex.Message)
        End Try
    End Sub

Dans l’Evenement  load :

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If Not IsPostBack Then
            Dim cmdc As New SqlCommand
            Dim cmdmat As New SqlCommand
            cmdc.CommandText = "select * from classes "
            cmdmat.CommandText = "select * from matieres "
            cmdc.Connection = CType(Session("con"), SqlConnection)
            cmdmat.Connection = CType(Session("con"), SqlConnection)
            Dim drc As SqlDataReader
            drc = cmdc.ExecuteReader
            While drc.Read
                listeclasses.Items.Add(drc(0) & " : " & drc(1))
            End While
            drc.Close()
            Dim drmat As SqlDataReader
            drmat = cmdmat.ExecuteReader
            While drmat.Read
                listematieres.Items.Add(drmat(0) & " : " & drmat(1))
            End While

            drmat.Close()
        End If
    End Sub


Evénement l LinkButton1_Click:

Private Sub LinkButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton1.Click
        Dim moy As Double = 0
        Dim min As Double = 20
        Dim max As Double = 0
        Dim ecart As Double = 0
        Dim sw, sz As Double
        Dim etudmax, etudmin As String
        'on recupere l'element sélectionne dans le combos 
        'concernant les classes mais sous forme 1:tsdi3
        Dim idcl As String = listeclasses.SelectedItem.Value
        'de meme pour les matieres
        Dim idmat As String = listematieres.SelectedItem.Value
        'il faut decouper la chaine et la mettre dans un tableau
        'a l'aide de la methode split
        Dim tabcl() As String = idcl.Split(":")
        Dim tabmat() As String = idmat.Split(":")
        Dim cmd As New SqlCommand
        cmd.CommandType = CommandType.StoredProcedure
        cmd.CommandText = "meseleves"
‘meselves est une procedure stockee sur sql server comme suivant:
‘’’’’’’’’’’’’’’’’’’’’’’’’’’’procédure stockée’’’’’’’’’’’’
CREATE proc meseleves(@idclasse int,@idmatiere int) as
select eleves.prenom,eleves.nom,notes.note from notes 
inner join ( eleves inner join classes on classes.id=eleves.id_classe)
on eleves.id=notes.id_eleve
where notes.id_matiere=@idmatiere and classes.id=@idclasse 
GO
‘’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’
        Dim p1 As New SqlParameter("@idclasse", SqlDbType.Int)
        Dim p2 As New SqlParameter("@idmatiere", SqlDbType.Int)
        p1.Value = tabcl(0)
        p2.Value = tabmat(0)
        cmd.Parameters.Add(p1)
        cmd.Parameters.Add(p2)
        cmd.Connection = CType(Session("con"), SqlConnection)
        Dim dr As SqlDataReader
        dr = cmd.ExecuteReader
        ListBox1.Items.Clear()
        While dr.Read

            ListBox1.Items.Add(dr(0) & "  " & dr(1) & " : " & dr(2))
            ecart = ecart + dr(2) * dr(2)
            If dr(2) > max Then
                max = dr(2)
                etudmax = dr(1) & "  " & dr(0)


            End If
           
            If dr(2) <= min Then
                min = dr(2)
                etudmin = dr(1) & "  " & dr(0)

            End If
            moy = moy + dr(2)


        End While

       







            sw = moy * moy
            sz = ListBox1.Items.Count * ListBox1.Items.Count
            Label7.Text = moy / ListBox1.Items.Count
            Label8.Text = ecart / ListBox1.Items.Count - sw / sz
            Label9.Text = max & "  obtenue par :" & etudmax
            Label10.Text = min & "  obtenue par :" & etudmin



        dr.Close()

    End Sub
Dans événement  load de la page courante mettre :

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If Not IsPostBack Then
            Dim cmdc As New SqlCommand
            Dim cmdmat As New SqlCommand
            cmdc.CommandText = "select * from classes "
            cmdc.Connection = CType(Session("con"), SqlConnection)
            Dim drc As SqlDataReader
            drc = cmdc.ExecuteReader
            While drc.Read
                listeclasses.Items.Add(drc(0) & " : " & drc(1))
                
            End While
            drc.Close()
            
        End If
    End Sub
Dans l’événement linkboutton (afficher les élèves):

Private Sub LinkButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton2.Click
        listeeleves.Items.Clear()
        Dim d As String = listeclasses.SelectedItem.Value
        Dim sss() As String = d.split(":")
        Dim cmd As New SqlCommand
        Dim cmdmat As New SqlCommand
        cmd.CommandText = "select * from eleves where id_classe=" & sss(0)
        cmd.Connection = CType(Session("con"), SqlConnection)
        Dim dr As SqlDataReader
        dr = cmd.ExecuteReader
        While dr.Read
            listeeleves.Items.Add(dr(0) & " : " & dr(1))
        End While
        dr.Close()
    End Sub

Dans l’événement linkboutton (afficher les notes):

Private Sub LinkButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton1.Click
        Dim moy As Double = 0
        Dim sw, sz As Double
        Dim etudmax, etudmin As String
        'On recupere l'element selectionne dans le combos 
        'Concernant les classes mais sous forme 1:tsdi3
        Dim idcl As String = listeclasses.SelectedItem.Value
        'de meme pour les matieres
        Dim idelv As String = listeeleves.SelectedItem.Value
        'Il faut decouper la chaine et la mettre dans un tableau
        'a l'aide de la methode split
        Dim tabcl() As String = idcl.Split(":")
        Dim tabelv() As String = idelv.Split(":")
        Dim cmd As New SqlCommand
        cmd.CommandType = CommandType.StoredProcedure
        cmd.CommandText = "mesnotes"
           ’’’’’’’’’’’ps :mesnotes’’’’’’’’’’’’’’’’’’’’’
CREATE proc mesnotes(@idclasse int,@ideleve int) as
Select matieres.nom,notes.note from matieres  inner join (notes inner join eleves on eleves.id=notes.id_eleve)
on matieres.id=notes.id_matiere
where eleves.id=@ideleve and eleves.id_classe=@idclasse 
GO
‘’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’
        Dim p1 As New SqlParameter("@idclasse", SqlDbType.Int)
        Dim p2 As New SqlParameter("@ideleve", SqlDbType.Int)
        p1.Value = tabcl(0)
        p2.Value = tabelv(0)
        cmd.Parameters.Add(p1)
        cmd.Parameters.Add(p2)
        cmd.Connection = CType(Session("con"), SqlConnection)
        Dim dr As SqlDataReader
        dr = cmd.ExecuteReader
        ListBox1.Items.Clear()
        While dr.Read
          ListBox1.Items.Add(dr(0) & " : " & dr(1))
             moy = moy + dr(1)
 End While
Label7.Text = moy / ListBox1.Items.Count
        dr.Close()

    End Sub



Conclusion

j'attend vos suggestion mes amis les developpeurs et la prochaine..
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de oukou le 21/04/2008 14:13:42

merci mon oukoujane...........

signaler à un administrateur
Commentaire de coq le 27/04/2008 01:45:29 administrateur CS

Salut,

Je lis difficilement le VB mais en passant rapidement sur le code plusieurs choses m'ont choqué :
- le maintien de la connexion à la base en variable de session
- définition de requête SQL avec de la concaténation de chaines de caractères => injection SQL => voir requêtes paramétrées

signaler à un administrateur
Commentaire de abadyasmar le 09/03/2009 02:49:25

merci beaucoup
et merci infinement pour tous les menbres qui n'exite pas d'aider
car personne ne sais que grace aux savoir d'autre
c'est formidable

signaler à un administrateur
Commentaire de wrida22 le 29/04/2009 14:15:26

ce zipe de gestion d'une ecole a marakech ne fonction pas a l'ouvertire de zip

signaler à un administrateur
Commentaire de oukou le 01/05/2009 22:20:26

ok
si tu arrives pas à lire le zip j peux l 'envoyer ok

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

j'ai besoin d'un cours complet ... [ par _coolnick ] je suis un debutant ds la domaine de la programmation orientée objet donc j'aurais aimer recevoir un cours complet + ou - sur la programmation asp a programmation asp [ par didi ] bonjour,j'ai crée 12 liens hypertexte vers une même page ,cependant selon qu'on soit sur le lien de janvier ou celui de décembre j'aimerais personnal recherche développeurs passionnés [ par terra ] Si vous voulez profiter de votre passion pour la programmation, rejoignez-nousSi vous n'êtes pas intéressé mais que vous connaissez quelqu'un qui cher programmation ASP liste de choix événements [ par didi ] Bonjour: je suis un jeune dévéloppeur en ASP et je suis en ce moment en train d'utiliser une liste de selection qui se charge à partir d'une table j'a programmation ASP html [ par didi ] Bonjour je suis un jeune programmeur en ASP et je veux créer un bouton tel que le click déclenche l'éxécution d'un programme .Chaque fois bien sur qu' Peut-on modifier le fond d'écran Windows par programmation ? [ par jm ] Peut-on modifier le fond d'écran Windows par programmation ?Simuler la fonction Set As Wallpaper après un clic droit. PROG-zone, la programmation sous tous les langages [ par sebrs1 ] Salut à tous les développeurs, je viens de mettre en ligne mon tout nouveaux site qui servira à tout le monde quelque soit le langage dans lequel vous un forum de programmation [ par hm1ch ] Un nouveau site de programmation vient d'ouvrir ses portes aux particuliers expérimentés ou non au monde de la programmation. Sur ce site vous y trouv Nouveau site de programmation [ par julp ] Voici un nouveau site de programmation, le site ProgOtoP.Net ouvre ses portes... Ce site permet au débutant tout langage, d'apprendre, d'apronfondir l Nouveau site pour la programmation web [ par coyoterunstar ] un nouveau site bien sympa c'est :www.tout-net.net


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.