IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

L'exception AccessViolationException n'a pas été gérée


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut L'exception AccessViolationException n'a pas été gérée
    Bonjour Développeur,

    j'arrive aujourd'hui avec un problème qui persiste :

    En quelques mots: je dois réaliser un applicatif de gestion de Football en Salle, lorsque je souhaite ouvrir un OpenFileDialog un message de type "L'exception AccessViolationException n'a pas été gérée" et ce à chaque fois que j'essaie de lancer le dialogue.

    J'ai pensé a recommencer mon programme car rien n'y fait ca plante tout le temps

    Et lorsque je reconstitue fonction par fonction le programme mon erreurs arrive au moment d'un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    conteneurecabc = requeterecabc.ExecuteReader()
    Je vous fournit la fonction qui contient ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
        Public Sub RefreshReferee(Optional ByVal typetri As Integer = 0)
            ListArbitre.Clear()
            Dim requete As New OleDb.OleDbCommand
            Dim conteneur As OleDb.OleDbDataReader
            Try
                Main.DBHermes.Open()
                requete.Connection = Main.DBHermes
                If typetri = 1 Then
                    requete.CommandText = "SELECT * FROM Arbitres ORDER BY Nom;"
                Else
                    requete.CommandText = "SELECT * FROM Arbitres;"
                End If
                conteneur = requete.ExecuteReader()
                While (conteneur.Read)
                    Dim NewArbitre As New Arbitre
                    NewArbitre.Numero = conteneur("Ref")
                    NewArbitre.Nom = conteneur("Nom")
                    NewArbitre.Prenom = conteneur("Prenom")
                    NewArbitre.Bloc1 = Integer.Parse(conteneur("Bloc").ToString.Substring(0, 2))
                    NewArbitre.Bloc2 = Integer.Parse(conteneur("Bloc").ToString.Substring(3, 2))
                    NewArbitre.Categorie = conteneur("Cat")
                    'Recusation de l'arbitre
                    Dim requetereca As New OleDb.OleDbCommand
                    Dim conteneureca As OleDb.OleDbDataReader
                    Try
                        requetereca.Connection = Main.DBHermes
                        requetereca.CommandText = "SELECT * FROM RecusationsArbitres WHERE Arbitres='" + NewArbitre.Numero + "';"
                        conteneureca = requetereca.ExecuteReader()
                        While (conteneureca.Read)
                            NewArbitre.AddRecusationClub(conteneureca("Clubs"))
                        End While
                    Catch Ex As Exception
                        MsgBox(Ex.Message)
                    End Try
                    Dim requeterecb As New OleDb.OleDbCommand
                    Dim conteneurecb As OleDb.OleDbDataReader
                    Try
                        requeterecb.Connection = Main.DBHermes
                        requeterecb.CommandText = "SELECT * FROM Conges WHERE RefArb='" + NewArbitre.Numero + "';"
                        conteneurecb = requeterecb.ExecuteReader()
                        While (conteneurecb.Read)
                            NewArbitre.AadConges(Date.Parse(conteneurecb("DateCong")))
                        End While
                    Catch Ex As Exception
                        MsgBox(Ex.Message)
                    End Try
                    Dim requetereur As New OleDb.OleDbCommand
                    Dim conteneurreur As OleDb.OleDbDataReader
                    Try
                        requetereur.Connection = Main.DBHermes
                        requetereur.CommandText = "SELECT Suffixe FROM RecuSalle INNER JOIN Salles ON RecuSalle.Salles = Salles.Id WHERE Arbitre=""" & NewArbitre.Numero & """;"
                        conteneurreur = requetereur.ExecuteReader()
                        While (conteneurreur.Read)
                            NewArbitre.AddRecuSalle(conteneurreur("Suffixe"))
                        End While
                    Catch ex As Exception
                        MsgBox(ex.Message)
                    End Try
                    If IsDBNull(conteneur("freqsemaine")) Then
                        NewArbitre.ParSemaine = 0
                    Else
                        NewArbitre.ParSemaine = Integer.Parse(conteneur("freqsemaine"))
                    End If
     
                    Dim requeterecab As New OleDb.OleDbCommand
                    Dim conteneurecab As OleDb.OleDbDataReader
                    Try
                        requeterecab.Connection = Main.DBHermes
                        requeterecab.CommandText = "SELECT * FROM Division WHERE Arbitres='" + NewArbitre.Numero + "';"
                        conteneurecab = requeterecab.ExecuteReader()
                        While (conteneurecab.Read)
                            NewArbitre.AddSerie(conteneurecab("Niveau"), conteneurecab("Categorie"), conteneurecab("Division"), conteneurecab("Serie"))
                        End While
                    Catch Ex As Exception
                        MsgBox(Ex.Message)
                    End Try
                    Dim requeterecabc As New OleDb.OleDbCommand
                    Dim conteneurecabc As OleDb.OleDbDataReader
                    Try
                        requeterecabc.Connection = Main.DBHermes
                        requeterecabc.CommandText = "SELECT * FROM Affiliations WHERE Arbitres='" + NewArbitre.Numero + "';"
                        conteneurecabc = requeterecabc.ExecuteReader()
                        While (conteneurecabc.Read)
                            NewArbitre.AddAffiliation(conteneurecabc("Clubs"))
                        End While
                    Catch Ex As Exception
                        MsgBox(Ex.Message)
                    End Try
                    ListArbitre.Add(NewArbitre)
                End While
                Main.DBHermes.Close()
            Catch Ex As Exception
                MsgBox(Ex.Message)
                Main.DBHermes.Close()
            End Try
        End Sub
    lorsque je met les lignes 82, 83, 84 et 85 le dialogue s'affiche sinon je retire la 82 des commentaires il me met l'exception et si en plus je retire la 83 c'est le vshot32.exe (ou quelque chose dans le genre) qui s'arrête de façon inexpliquée.

    J'espère que des professionnels de l'informatique de programmation comme vous pourra m'aider.

    Je vous remercie d'avance d'avoir prêter attention au sujet

    Adrien alias DiGui

  2. #2
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Bonjour.

    Ton problème est donc que l'appel de OldDbCommand.ExecuteReader (ligne 82) lève une exception du type AccessViolationException. Il faudrait que tu nous donnes le détail de l'exception (message, stacktrace, innerexception, etc).

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Détails de l'exception
    D'abord merci d'avoir répondu rapidement

    Voici les détails
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    L'exception System.AccessViolationException n'a pas été gérée
      Message=Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée.
      Source=System.Windows.Forms
      StackTrace:
           à System.Windows.Forms.FileDialogNative.IFileDialog.Show(IntPtr parent)
           à System.Windows.Forms.FileDialog.RunDialogVista(IntPtr hWndOwner)
           à System.Windows.Forms.FileDialog.RunDialog(IntPtr hWndOwner)
           à System.Windows.Forms.CommonDialog.ShowDialog(IWin32Window owner)
           à System.Windows.Forms.CommonDialog.ShowDialog()
           à Hermes_2._0.Main.ChargerUneBaseDeDonnéesToolStripMenuItem_Click(Object sender, EventArgs e) dans C:\Users\Adrien HP Tower\documents\visual studio 2010\Projects\Hermes 2.0\Hermes 2.0\Main.vb:ligne 67
           à System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
           à System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
           à System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
           à System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
           à System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
           à System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
           à System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
           à System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
           à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
           à System.Windows.Forms.Control.WndProc(Message& m)
           à System.Windows.Forms.ScrollableControl.WndProc(Message& m)
           à System.Windows.Forms.ToolStrip.WndProc(Message& m)
           à System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
           à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
           à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
           à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
           à System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
           à System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
           à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
           à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
           à System.Windows.Forms.Application.Run(ApplicationContext context)
           à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
           à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
           à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
           à Hermes_2._0.My.MyApplication.Main(String[] Args) dans 17d14f5c-a337-4978-8281-53493378c1071.vb:ligne 81
           à System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
           à System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
           à Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
           à System.Threading.ThreadHelper.ThreadStart_Context(Object state)
           à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
           à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           à System.Threading.ThreadHelper.ThreadStart()
      InnerException: Nothing

  4. #4
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Sur ton FileDialog, définit AutoUpgradeEnabled comme faux.

    Microsoft.com : OleDB operations cause AccessViolationException during SaveFileDialog - Solutions de contournement

    Pas de chance sur ce coup-là, ça ne vient pas de ton programme.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par DonQuiche Voir le message
    Sur ton FileDialog, définit AutoUpgradeEnabled comme faux.

    Microsoft.com : OleDB operations cause AccessViolationException during SaveFileDialog - Solutions de contournement

    Pas de chance sur ce coup-là, ça ne vient pas de ton programme.
    Merci pour votre réponse, je vais tester la solution de contournement possible, j'éspère que cela fonctionnera. Je met le sujet RESOLU

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/03/2008, 09h54
  2. L'exception COMException n'a pas été gérée
    Par loverdev dans le forum VB.NET
    Réponses: 5
    Dernier message: 04/01/2008, 12h25
  3. L'Exception COMException n'a pas été gérée
    Par jerome71300 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/11/2007, 11h27
  4. Réponses: 7
    Dernier message: 24/06/2007, 13h19
  5. L'exception OleDBException n'a pas été gérée
    Par neo62matrix dans le forum VB.NET
    Réponses: 2
    Dernier message: 10/05/2007, 11h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo