Lecture de fichier et ecriture dans une base mysql

Contenu du snippet

Ce petit programme en Visual Basic 6 permet de lire un fichier texte et de stocker les données dans une table d'une base de données MySQL Control Center
qu'il faut avoir préalablement créée. Attention, ce programme ne gere pas les doublons, je n'ai pas encore trouvé comment faire!!!!!!!!!!!!

Source / Exemple :


'déclarer un type personnalisé 
Private Type Fournisseur
        codeFournisseur As String * 8 'la longueur du champs permet de prendre en compte que cette donnée
        nomFournisseur As String * 30       
        adresse1 As String * 30      
        adresse2 As String * 30      
        codePostal As String * 5       
        ville As String * 20    
        pays As String * 3       
        correspondantFournisseur As String * 20       
        code_devise As String * 3      
        numTel As String * 12  
        numFax As String * 15     
        email As String * 40
    End Type

Private Sub Fournisseur_Click()

Dim Conn As New ADODB.Connection 'Connecteur à la base
Dim Chaine As String 'Chaîne de connexion à ODBC
Dim four As Fournisseur

Dim Fichfour As Variant

Dim req As String

'Initialisation
Chaine = "driver={MySQL ODBC 3.51 Driver};" _
& "database=nom_base;" _
& "server=adresse_serveur;" _
& "uid=nom_utilisateur;" _
& "pwd=mot_passe;" _
& "port=;" _
& "option=;" _
& "stmt=;"

'Connexion à MySQL
With Conn
.ConnectionString = Chaine
.Open
End With

    'On lit le fichier des fournisseurs
        Fichfour = FreeFile

        Open "adresse du fichier" For Random Access Read As #Fichfour Len = Len(four)

        While Not EOF(Fichfour)
            Get #Fichfour, , four

            With four
                'On crée la requête
                req = "INSERT INTO fournisseur VALUES ('" _
                    & Replace(Trim(.codeFournisseur), "'", "\'") & "','" _
                    & Replace(Trim(.nomFournisseur), "'", "\'") & "','" _
                    & Replace(Trim(.adresse1), "'", "\'") & "','" _
                    & Replace(Trim(.adresse2), "'", "\'") & "','" _
                    & Replace(Trim(.codePostal), "'", "\'") & "','" _
                    & Replace(Trim(.ville), "'", "\'") & "','" _
                    & Replace(Trim(.pays), "'", "\'") & "','" _
                    & Replace(Trim(.correspondantFournisseur), "'", "\'") & "','" _
                    & Replace(Trim(.code_devise), "'", "\'") & "','" _
                    & Replace(Trim(.numTel), "'", "\'") & "');"
                    
            End With

           'On met à jour la base
            If Asc(four.codeFournisseur) <> 0 Then
                With Record
                    .ActiveConnection = Conn
                    .Source = req
                    Debug.Print req
                    .Open
                End With
            End If  
            
        Wend
        
        Close #Fichfour

End Sub

Conclusion :


si il y a un souci merci de me prévenir et de me corriger.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.