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

ASP.NET Discussion :

[VB.NET/VS 2003] copiez un datatable dans une base access


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Par défaut [VB.NET/VS 2003] copiez un datatable dans une base access
    Bonjour à tous,

    J'aimerais copier une datatable dans ma base... Je cherche donc un méthode pour convertir ma datatable en datareader afin de pouvoir la lire ...

    Je ne trouve pas de solution ...

    Merci d'avance pour votre aide

  2. #2
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Salut

    En cherchant vite fait dans la MSDN j'ai trouvé une fonction qui fait le contraire.
    Avec un minimum d'adaptation, tu devrais pouvoir l'inverser, je pense.

    Mais, pourquoi veux tu passer par un DataReader pour insérer des données dans une base ? Il n'y a pas une solution plus efficace ?

    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
     
    Private Function ReaderToTable(ByVal reader As SqlClient.SqlDataReader) As DataTable
     
        Dim newTable As New DataTable()
        Dim col As DataColumn
        Dim row As DataRow
        Dim i As Integer
     
        For i = 0 To reader.FieldCount - 1
     
            col = New DataColumn()
            col.ColumnName = reader.GetName(i)
            col.DataType = reader.GetFieldType(i)
     
            newTable.Columns.Add(col)
        Next
     
        While reader.Read
     
            row = newTable.NewRow()
            For i = 0 To reader.FieldCount - 1
                row(i) = reader.Item(i)
            Next
     
            newTable.Rows.Add(row)
        End While
     
        Return newTable
    End Function

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Par défaut
    Bah en gros , je ne peut pas me connecter a ma base de données a cette instant la... Il faut donc que je stocke des données afin de pouvoir les rentrer par la suite

  4. #4
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Ben alors pourquoi passer par un DataReader.
    Si tes données sont dans une DataTable, il est facile de la renvoyer dans la base aprés coup, non ?

    Peut être as tu d'autre contrainte ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Par défaut
    Bah écoute, je ne sais pas justement. Je débute en VB.NET, donc je ne sais pas trop. J'ai fait quelque recherche mais j'ai rien trouvé de concret. D'où ma question sur le forum...

  6. #6
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Moi je pense que tu devrais plutôt t'orienter vers une petite procédure qui récupère les données de ta DataTable et les envoi dans le bon sens vrs la BDD.

    Reste à voir si ta DataTable correspond pile poil à la table d'arivée ou si tu as fabriqué des données composite avec plusieurs tables, mais là, ça relève plus du SQL que du VB.NET.

    Et surtou voir pourquoi tu ne peut pas te connecter à la BDD à ce moment là (c'est un point que j'ai du mal à comprendre).

    Par contre, aprés recherche plus approfondie : on ne peut pas transformer une DataTable en DataReader comme ça. Il faut manipuler un fonction dans le même genre que celle que je t'ai filé mais dans l'autre sens. Ces deux objets ne sont pas "compatible" entre eux.

Discussions similaires

  1. Insérer une datatable dans une base de données SQL sans boucle
    Par reto2011 dans le forum Développement
    Réponses: 1
    Dernier message: 28/01/2011, 19h56
  2. [ADO.net] insertion dans une base Access
    Par nightcyborg dans le forum C#
    Réponses: 12
    Dernier message: 01/09/2009, 12h40
  3. Réponses: 1
    Dernier message: 06/11/2007, 16h43
  4. [VB.NET] Comment ajouter une table dans une base Access ?
    Par Hakki dans le forum Accès aux données
    Réponses: 1
    Dernier message: 22/09/2006, 16h19
  5. [VB.NET] création d'une table dans une base access
    Par smedini dans le forum Accès aux données
    Réponses: 1
    Dernier message: 31/12/2005, 11h53

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