Bonjour, voila je cherche depuis hier soir une solution a mon problème sur internet mais rien n'y fait je vous explique :

j'ai ma procédure 'gsm_affectation_list()' qui parcours la liste 'identite()' contenant un nom et prénom et en utilisant la fonction 'gsm_search_tel' elle affecte à une autre list 'identite_phone' le nom ainsi que le numéro de téléphone issue d'une base de donnée mysql extraite à l'aide de la fonction 'gsm_search_tel', pour faire plus simple voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Module GPRS
 
    Public identite As New ArrayList() 'on recupére juste l'identité des gens sur le ticket de départ
    Public identite_phone As New ArrayList() 'On crée une collection ArrayList qui contient lidentité des personnes concerné et leur tel
 
    Sub gsm_affectation_list()
        Dim i As Integer
        For i = 0 To identite.Count - 1
            identite_phone.Add(identite(i) & "=" & gsm_search_tel(identite(i)))         'ajoute à la list :: DUPONT JACQUE = 0303040506
        Next
    End Sub
 
End Module
par la même occasion voici ma fonction qui retourne le numéro de téléphone avec l'identité passé en paramètre :

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
'##################################################################
    '## cherche dans la table personnel le numéro de tel correspandant à un agent sur le ticket de depart
    '##################################################################
 
    Public Function gsm_search_tel(ByVal indicatifs As String) As String
        log("Cherche le numero de telephone du gars sur le ticket de depart avec sont indicatif")
        Try
            Dim Requete As String
            Dim sqlCommand As New MySqlCommand
            Dim myAdapter As New MySqlDataAdapter
            Dim myData As MySqlDataReader
 
            Requete = "SELECT portable FROM personnel WHERE indicatif = '" & indicatifs & "'"
            connection_Mysql.Open()
            sqlCommand.Connection = connection_Mysql
            sqlCommand.CommandText = Requete
            myAdapter.SelectCommand = sqlCommand
            myData = sqlCommand.ExecuteReader()
            myData.Read()
 
            Return myData.GetString("portable")
 
            myData.Close()
            connection_Mysql.Close()
 
        Catch ex As Exception
            les_try("fonction gsm_search_tel :: " & ex.Message) 'ecrit dans le fihier texte exception l'erreur
            Return "inconnu"
        End Try
 
    End Function
Le soucis est le suivant :
Lorsque j’insère un breakpoint dans ma procédure 'gsm_affectation_list()' je constate que seul la première itération de la boucle for récupère le numéro de téléphone des personnes enregistré dans ma list 'identite()' alors que les autres même si il sont en base de donnée sont affecté comme 'inconnu'
Alors j'ai regardé du coté des exceptions sauvegardé dans un fichier texte et voici ce que j'ai pour ma fonction 'gsm_search_tel':
08/08/2014 11:31:47 fonction gsm_search_tel :: The connection is already open.
Pourtant je ferme la connection mysql à la fin de la fonction !!! je ne comprend pas ou est le problème ???