Bonjour,

j'essaie de faire une requête rapide en passant par un datareader.
Mais je n'arrive pas à récupérer les données, j'ai toujours la même exception.


voici ma fonction :
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
Function ExecuteRequeteSQL400Reader(ByVal Requete As String) As iDB2DataReader
        '=================================
        ' Initialisation objets SqlCeCommand et SqlCeDataReader
        '=================================
        Dim maconnection As New iDB2Connection
        Dim Moncurseur As iDB2DataReader
 
        maconnection.ConnectionString = "DataSource=*****;UserID=****;Password=****;"
        maconnection.Open()
 
 
        Dim Macommande As iDB2Command
        Macommande = New iDB2Command
 
        Macommande = maconnection.CreateCommand()
 
 
        Dim matransaction As iDB2Transaction = maconnection.BeginTransaction()
        Macommande.Transaction = matransaction
 
 
        Macommande.CommandType = CommandType.Text
        Macommande.CommandText = Requete
 
 
        Moncurseur = Macommande.ExecuteReader()
 
        '=================================
        ' Libération de l'objet SqlCeCommand
        '=================================
        Macommande.Dispose()
 
        Return Moncurseur
 
    End Function

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
 
Dim dsTemp As IBM.Data.DB2.iSeries.iDB2DataReader
 Dim _HEUERR As String
 
 _marequete = "SELECT HEURE FROM MABIBLIO.ERRD WHERE DATE = '" + NewDate.ToString("yyyy-MM-dd") + "'  ORDER BY HEURE DESC"
 
 dsTemp = ExecuteRequeteSQL400Reader(_marequete)
 
 
 
 If dsTemp.Read() Then
      _HEURE = dsTemp.GetString(0)
 Else
 End If
 
 dsTemp.Close()
Mon code plante toujours à cet endroit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
_HEURE = dsTemp.GetString(0)
avec l'erreur suivante :
Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée..
avez vous une idée?

Merci pour votre expérience