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
Et l'erreur
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(); } }
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
Partager