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 :

importer les données d'un fichier excel dans une base sql server


Sujet :

ASP.NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Points : 4
    Points
    4
    Par défaut importer les données d'un fichier excel dans une base sql server
    salut
    je dois importer des données d'un fichier excel dans une table Etudiant de ma base de données
    j'arrive à afficher le fichier dans un dataset mais j'arrive pas à les insérer dans ma table
    voici 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    public partial class RemplirBD : System.Web.UI.Page{
        DataSet oDs = new DataSet("Client");
     
        protected void Page_Load(object sender, EventArgs e)
        {
            OleDbDataAdapter oAd = new OleDbDataAdapter();
            OleDbCommand oCmd = new OleDbCommand();
            OleDbConnection oCnx = new OleDbConnection();
     
            string sCnxString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("Clients.xls") + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\"";
            oCnx.ConnectionString = sCnxString;
            oCmd.CommandText = "SELECT * FROM [Feuil1$]";
            oCmd.Connection = oCnx;
            oAd.SelectCommand = oCmd;       
            oAd.Fill(new DataTable("Client"));
     
            /* Affichage du contenu dans une Gridview */
             oAd.Fill(oDs);
             GridView1.DataSource = oDs;
             GridView1.DataBind();     
     
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            string sqlConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\Mes Documents\Visual Studio*2005\WebSites\DetteCafet\App_Data\DettesCafet.mdf;Integrated Security=True;User Instance=True";
     
            // Déclaration de l'objet de connexion
            SqlConnection oConnection;
            // Création de l'objet de connexion
            oConnection = new SqlConnection();
            // Paramétrage de la chaîne de connexion
            oConnection.ConnectionString = sqlConnectionString;
            //Connexion à la base de données
            //oConnection.Open();
     
            SqlDataAdapter adapter = new SqlDataAdapter();
            adapter.SelectCommand = new SqlCommand(" SELECT * FROM Etudiant", oConnection);
            oConnection.Open();
     
            ////// MSDN : SqlCommendBuilder Génère automatiquement des commandes de table simple utilisées pour harmoniser les modifications apportées à DataSet avec la base de données associée. Cette classe ne peut pas être héritée.
            SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
     
           // adapter.FillSchema(oDs, SchemaType.Source, "Etudiant");
            adapter.Fill((DataSet)oDs);
            adapter.Update(oDs,"Etudiant");
     
            //affichage de la table étudiant dans un gridview
            DataSet dat = new DataSet("Etud");
            adapter.Fill(new DataTable("Etud"));
            adapter.Fill(dat);
            GridView2.DataSource = dat;
            GridView2.DataBind();
     
     
        }
    }
    Et l'erreur
    Erreur du serveur dans l'application '/DetteCafet'.
    --------------------------------------------------------------------------------

    Impossible pour Update de trouver TableMapping['Etudiant'] ou DataTable 'Etudiant'.
    Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.InvalidOperationException: Impossible pour Update de trouver TableMapping['Etudiant'] ou DataTable 'Etudiant'.

    Erreur source:


    Ligne 60 : //adapter.FillSchema(oDs, SchemaType.Source, "Etudiant");
    Ligne 61 : adapter.Fill((DataSet)oDs);
    Ligne 62 : adapter.Update(oDs,"Etudiant");
    Ligne 63 :
    Ligne 64 : //affichage de la table étudiant dans un gridview


    Fichier source : e:\Mes Documents\Visual Studio 2005\WebSites\DetteCafet\RemplirBD.aspx.cs Ligne : 62

    Trace de la pile:


    [InvalidOperationException: Impossible pour Update de trouver TableMapping['Etudiant'] ou DataTable 'Etudiant'.]
    System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable) +290
    RemplirBD.Button1_Click(Object sender, EventArgs e) in e:\Mes Documents\Visual Studio 2005\WebSites\DetteCafet\RemplirBD.aspx.cs:62
    System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
    System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
    System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102




    --------------------------------------------------------------------------------
    Informations sur la version : Version Microsoft .NET Framework :2.0.50727.42; Version ASP.NET :2.0.50727.210

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Si tu regardes, avec le debugger, le contenu de oDs, peux-tu voir si la table Etudiants est bien présente ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Thomas Lebrun
    Si tu regardes, avec le debugger, le contenu de oDs, peux-tu voir si la table Etudiants est bien présente ?
    en fait le dataset oDs contient les données du fichier excel et c'est données qu'il doit ajoutées à la table

    quand je lance le debugger il bloque aussi sur la même erreur

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Points : 25
    Points
    25
    Par défaut
    Est-ce que vous avez trouvé la réponse, car j'ai le même problème.
    Merci

Discussions similaires

  1. Réponses: 16
    Dernier message: 26/03/2014, 18h21
  2. Réponses: 3
    Dernier message: 20/08/2010, 21h48
  3. Réponses: 3
    Dernier message: 20/04/2010, 09h31
  4. [MySQL] Importer les données d'un fichier CSV dans une base de données
    Par joueur dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 12/11/2008, 11h59
  5. Importer les données d'un fichier excel dans une table
    Par dams95190 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 07/12/2007, 10h35

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