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

VB.NET Discussion :

Remplacer contenu table par un fichier .csv (vb.net)


Sujet :

VB.NET

  1. #21
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Il est probable que ce type de requête ne peut pas être utilisé directement. Il faut passer par une procédure stockée (avec paramètre le nom du fichier).
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  2. #22
    Nouveau membre du Club
    Homme Profil pro
    marc bloch
    Inscrit en
    Février 2014
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : marc bloch
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2014
    Messages : 70
    Points : 33
    Points
    33
    Par défaut
    j'ai reussi a supprimer l'erreur donc tous se passe comme prevue sauf que ma base de donner ne recupere pas le contenue de mon fichier .cs pourquoi ?

  3. #23
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Citation Envoyé par oshigamie Voir le message
    j'ai reussi a supprimer l'erreur ...
    Ah ! Et comment ?

    [Edit]
    Citation Envoyé par oshigamie Voir le message
    bes je suis sur phpmy admin ...
    Peut-être des problèmes de droit. (phpmy admin, lui, doit avoir tous les droits)
    Regardez aussi les logs de MySQL lorsque vous avez exécuté la commande.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  4. #24
    Nouveau membre du Club
    Homme Profil pro
    marc bloch
    Inscrit en
    Février 2014
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : marc bloch
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2014
    Messages : 70
    Points : 33
    Points
    33
    Par défaut
    l'erreur fatal venais du cmd=executequery()

    mais j'ai un souci la actuelement c'est que lorsque j'importe mes ligne se trouvant dans mon fichier csv aucune d'elle se voie etre mise dans ma table dite dans la requete hors pourtant la requete et celle generer par phpmyadmin lorsque j'importe en graphique .

  5. #25
    Nouveau membre du Club
    Homme Profil pro
    marc bloch
    Inscrit en
    Février 2014
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : marc bloch
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2014
    Messages : 70
    Points : 33
    Points
    33
    Par défaut
    Je pense avoir trouver le problem et etre proche a sa resolution mais j'ai besoin d'avoir votre avis .


    mon 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
     Dim NbLignes As Integer
            Dim cmd As MySqlCommand = New MySqlCommand
            cmd.Connection = connection.MaConnexion
            cmd.CommandText = "LOAD DATA LOCAL INFILE '" & TxtFichier.Text & "' INTO TABLE test FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"" ' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' IGNORE 1 LINES"
     
     
     
            Try
     
                'NbLignes = cmd.ExecuteNonQuery()
                MessageBox.Show(NbLignes & " lignes insérées.")
            Catch exms As MySqlException
                MessageBox.Show(exms.Message)
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
    J'ai compris que mon erreur venais du fait du bouton parcourire de mon appli qui va chercher le fichier .csv du moin je pense car lors de la requette il le prend comme une simple chaine de caractere ne pouvant donc pas recuperer les donnée contenue a l'interieur . auriez vous un idee pour l'executer et rendre possible cet action d'importation.

    voici le code d emon bouton parcourir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub BtnParcourir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnParcourir.Click
            OpenFileDialog1.ShowDialog()
            TxtFichier.Text = OpenFileDialog1.SafeFileName
     
     
        End Sub
    l

  6. #26
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,


    Citation Envoyé par oshigamie Voir le message
    Je pense avoir trouver le problem et etre proche a sa resolution mais j'ai besoin d'avoir votre avis .


    mon 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
     Dim NbLignes As Integer
            Dim cmd As MySqlCommand = New MySqlCommand
            cmd.Connection = connection.MaConnexion
            cmd.CommandText = "LOAD DATA LOCAL INFILE '" & TxtFichier.Text & "' INTO TABLE test FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"" ' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' IGNORE 1 LINES"
     
     
     
            Try
     
                'NbLignes = cmd.ExecuteNonQuery()
                MessageBox.Show(NbLignes & " lignes insérées.")
            Catch exms As MySqlException
                MessageBox.Show(exms.Message)
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
    Je ne suis pas remonté plus haut. Là je ne vois aucune chaîne de connexion, ni l'ouverture d'une connexion.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  7. #27
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Citation Envoyé par oshigamie Voir le message
    l'erreur fatal venais du cmd=executequery()
    mais j'ai un souci la actuelement c'est que lorsque j'importe mes ligne se trouvant dans mon fichier csv aucune d'elle se voie etre mise dans ma table dite dans la requete
    D'ou sort ce cmd=executequery() ?
    Citation Envoyé par oshigamie Voir le message
    j'ai reussi a supprimer l'erreur donc tous se passe comme prevue sauf que ma base de donner ne recupere pas le contenue de mon fichier .cs pourquoi ?
    Citation Envoyé par oshigamie Voir le message
    Je pense avoir trouver le problem et etre proche a sa resolution ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                'NbLignes = cmd.ExecuteNonQuery()
    Efficace; Plus de requête envoyé à la base, donc plus d'erreur, mais pas de ligne chargées. Hein !
    ______________________________________

    Donc résumons, le code devrait se présenter ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
            Dim cmd As MySqlCommand = New MySqlCommand
            cmd.Connection = ' la connexion : mettre votre objet de connexion ici 
            cmd.CommandText = "LOAD DATA LOCAL INFILE '" & TxtFichier.Text & "' INTO TABLE test FIELDS TERMINATED BY ';' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'"
            Try
                cmd.Connection.Open()
                cmd.ExecuteNonQuery()
            Catch exms As MySqlException
                MessageBox.Show(exms.Message)
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            Finally
                cmd.Connection.Close()
            End Try
    En cherchant avec google, pas mal de personnes ont essayé de procéder de la sorte
    Mais toutes les questions sont restées sans réponses (ou je n'ai pas trouvé la réponse adéquate), cela veut peut être tout simplement dire qu'il n'est pas possible de procéder de cette façon. (au passage vous n'avez pas dit ce que vous aviez dans les logs de MySQL après l'éxecution de la commande.)

    Comme je vous le conseillez au début, faite une procédure stockée, puis appelez celle-ci avec VB.
    Ne connaissant pas MySQL je ne peux pas vous aider davantage. (avez-vous suivi mon conseil : Demandez sur le forum MySQL si cette requête (LOAD DATA LOCAL INFILE ) peut être exécutée depuis un langage DOTNET comme VB ou C# ?)
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

Discussions similaires

  1. Comparer le contenu d'une table avec un fichier csv
    Par cdo22 dans le forum Requêtes
    Réponses: 3
    Dernier message: 21/11/2008, 18h35
  2. [Macro]exporter une table vers un fichier.csv
    Par samca dans le forum IHM
    Réponses: 2
    Dernier message: 24/04/2007, 21h25
  3. Réponses: 1
    Dernier message: 26/01/2007, 08h15
  4. décharger une table dans un fichier CSV
    Par shrek7577 dans le forum SQL
    Réponses: 3
    Dernier message: 22/12/2006, 16h44
  5. Mise à jour d'une table avec un fichier csv
    Par blackangel dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h46

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