bonjour,

j'utilise peut etre mal les reader mais je ne comprend pas où, j'essaie de récupérer un année dans une table contenant une seule entrée.

voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Depart.connecterBD()
ReaderAnnee = FctSGBD.Execution_Requete("SELECT * FROM param_gen")
        MsgBox("reader")
        ReaderAnnee.Read()
 
        'MsgBox(ReaderAnnee("Annee").GetType)
        MsgBox("tutu")
        ReaderAnnee.Close()
        MsgBox("erzerzerz")
MsgBox("Annee : " + Annee)
si je laisse ma ligne mise en commentaire ca plante avant d'afficher le gettype, sinon j'ai bien erzrze.. par contre je n'arrive jaamis à afficher le dernier messagebox.

voici le code de execution_requete :

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
Public Function Execution_Requete(ByVal requete As String) As IDataReader
 
        'MessageBox.Show("Début de l'execution de la requête: " & requete)
        Dim reader As IDataReader
 
        Try
            'Depart.connecterBD()
        Catch ex As Exception
            MessageBox.Show(ex.Message + "(FArtMvtCes8743a)")
        End Try
 
 
#If SGBD = "Access" Then
 
        Dim command As New OleDb.OleDbCommand(requete, Depart.ConnectionBdNet)
 
        reader = command.ExecuteReader()
 
#ElseIf SGBD = "SQL" Then
 
        Dim command As New SqlClient.SqlCommand(requete, Depart.ConnectionBdNet)
 
        reader = command.ExecuteReader()
 
#End If
        Return reader
Annee est un integer et ReaderAnnee un IDataReader.

Une idée?