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

C# Discussion :

page aspx qui passe un Txt file dans une table de BDD [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2013
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 60
    Par défaut page aspx qui passe un Txt file dans une table de BDD
    Hello,

    je suis entrain de faire une page Aspx (c#,asp.net) qui permettra de passer un txt file contenant la gestion de rotation des quarts de personnes, donc dans cette page j'ai:

    -un <asp:FileUpload> qui vas contenir le fichier Txt
    -un <asp:TextBox> qui vas contenir une année (2014 dans l'example qui arrive)
    -un <asp:Button> qui permet de send et effectuer la mise à jour de la BDD

    Alors mon Txt file contient ceci: (il continue jusque dec 31)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    *       M  S  N  R  R  J
    jan  1  A  B  D  E  F  C
    jan  2  A  B  D  E  F  C
    jan  3  F  A  B  D  E  C
    jan  4  F  A  B  D  E  C
    jan  5  C  F  A  B  D  E
    jan  6  C  F  A  B  D  E
    jan  7  D  C  F  A  B  E
    jan  8  D  C  F  A  B  E
    jan  9  B  D  C  F  A  E
    et la table rotation contiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    [ROT_ID] int, not null (autoincrement)
    [ROT_DATROTATION] date, not null (concatenation des valeurs du txt file + txt box année)
    [ROT_PERIODE] string, not null (Qui representera le header du txt file: M S N R R J)
    [ROT_QUAID] string, not null (dans la table quart nous avons: QUA_ID et QUA_NOM, les QUA_NOM sont: A B C D E F)
    [ROT_ANNEE] int, not null (que je recupere via la txt box année)
    [ROT_MOIS] int, not null (que je recupere via le txt file)
    [ROT_JOUR] int, not null (que je recupere via le txt file)

    je serais faire la réalisation des requetes SQL.
    Mais je n'ai aucune idée de comment 'parsé' les données du Txt file pour les mettre dans la requete correctement
    j'ai cherché toute la matiné sur le net et je n'ai aucune idée de comment m'y prendre.
    je tiens a préciser que je suis dans une entreprise qui essaie de se SUR-proteger, donc je ne peux pas DL: un csv parser, nuget ou autre.
    je suis sous VS 2010 SP1.


    Dans la finalité je souhaiterais avoir ceci

    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
     
    [ROT_ID]1
    [ROT_DATROTATION] 01/01/2014
    [ROT_PERIODE] M
    [ROT_QUAID]A
    [ROT_ANNEE] 2014
    [ROT_MOIS] 01
    [ROT_JOUR] 01
     
    [ROT_ID]2
    [ROT_DATROTATION] 02/01/2014
    [ROT_PERIODE] S
    [ROT_QUAID]B
    [ROT_ANNEE] 2014
    [ROT_MOIS] 01
    [ROT_JOUR] 02
     
    Etc etc

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Le .NET Framework contient nativement un parser CSV. Pour l'utiliser il faut utiliser la classe TextFieldParser. Il y a un exemple d'utilisation sur le lien.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2013
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 60
    Par défaut
    Citation Envoyé par DotNetMatt Voir le message
    Le .NET Framework contient nativement un parser CSV. Pour l'utiliser il faut utiliser la classe TextFieldParser. Il y a un exemple d'utilisation sur le lien.
    ca ne m'aide pas dans le sens, je ne sais pas par ou commencer, ce que je doit faire des données, dans quoi je doit les stockées, etc


    Ce qui serait parfait, c'est que j'arrive a stockée dans un tableau (ou listitems) un truc du genre:

    Ligne 1: [jan] [1] [A] [M] (mois, jour, quart, header du quart)
    Ligne 2: [jan] [1] [B] [S]
    Ligne 3: [jan] [1] [D] [N]
    [..................]
    Ligne X: [jan] [9] [B] [M]

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Le code présenté sur le lien que je t'ai donné stocke les données dans un tableau de strings (variable currentRow). Ensuite on boucle (while) jusqu'à la fin du fichier pour lire ligne par ligne (méthode ReadFields). Dans l'exemple ils ont utilisé un séparateur de type délimité. A chaque fois que le séparateur est rencontré, on rajoute une colonne dans le tableau de strings, avec la valeur.

    Au fur et à mesure de la lecture (dans le while) on peut très bien imaginer rajouter la variable currentRow dans une liste (List<string[]>). Une fois le traitement terminé, il n'y a plus qu'à traiter la liste, comme une liste classique :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach (string[] row in myList)
    {
        var value1 = row[0];
        var value2 = row[1];
    }

    Pour passer le code en C#, utilise un convertisseur.

    A toi de jouer avec cet exemple et de voir ce qu'on peut faire, on ne va pas faire tout le boulot à ta place. Tu peux faire un projet de test à côté pour pouvoir voir comment ça fonctionne, et joue avec différents paramètres. Si tu as des erreurs ou des problèmes de logique précis, là on pourra t'aider
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2013
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 60
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using Microsoft.VisualBasic.FileIO
    n'est pas reconnu, je n'arrive meme pas a utiliser le textfieldparser


    meme avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     using Microsoft.VisualBasic
                                using System.Object
    je voit pas dans quel import je peux tapé

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Il faut d'abord ajouter une référence vers l'assembly Microsoft.VisualBasic.dll
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD16] Importation d'un fichier .TXT (tableaux) dans une table
    Par moimoi78 dans le forum WinDev
    Réponses: 4
    Dernier message: 11/04/2011, 18h28
  2. Macro qui va chercher des conditions dans une table
    Par piflechien73 dans le forum VBA Access
    Réponses: 5
    Dernier message: 13/09/2009, 22h29
  3. [VBA] fonction qui donne la valeur présente dans une table
    Par zanou666 dans le forum VBA Access
    Réponses: 7
    Dernier message: 25/09/2007, 17h33
  4. Importer un txt (csv) dans une table mysql sur multimania
    Par minogttao dans le forum Requêtes
    Réponses: 2
    Dernier message: 03/11/2006, 18h33
  5. deplacer un champ dans une table de BDD
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 13/10/2006, 15h42

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