Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Enregistrer une table dans une base de données (DataTable dans fichier .mdb) ? [ Archives / Base de données ] (AnnihilatorSupernova)

jeudi 25 août 2005 à 22:17:31 | Enregistrer une table dans une base de données (DataTable dans fichier .mdb) ?

AnnihilatorSupernova

Voilà j'aimerais savoir comment faire pour enregistrer une variable de type DataTable dans un fichier .mdb (base de données Access).
J'ai essayé avec
string query = "INSERT INTO Table(col1,col2) VALUES(val1,val2);"
OleDbCommand comm = new OleDbCommand(query, oleDbConnection1);
oleDbConnection1.Open ();
comm.ExecuteNonQuery ();
oleDbConnection1.Close ();
en ayant créé une connexion oleDbConnection1 de type Jet 4.0 avec l'assistant, qui m'a dit que la connexion était ok !

Ceux qui savent le faire, pouvez vous me mettre un bout de code qui marche SVP ?

Merci d'avance.

vendredi 26 août 2005 à 08:19:04 | Re : Enregistrer une table dans une base de données (DataTable dans fichier .mdb) ?

SharpMao

Membre Club
Hello,
Deux ou trois détails : 
   - Si tu mets  VALUES(val1, val2), il ne sait pas de quoi il s'agit.
   - Si tu travailles avec une DataTable, il vaut mieux ouvrir la connexion, tout insérer, et fermer la connexion.

Un exemple, où j'admets que col1 est un entier, et col2 un string :

oleDbConnection1.Open();
OleDbCommand comm = new OleDbCommand();
comm.connection = oleDbConnection1;

foreach(DataRow dr in dt) //dt is the DataTable
{
   comm.CommandText = "INSERT INTO Table(col1, col2) VALUES("
                     + (int)dr["col1"] + ", " + (string)dr["col2"] + ")";
   comm.ExecuteNonQuery();
}

oleDbConnection1.Close();


Amicalement, SharpMao

vendredi 26 août 2005 à 11:51:28 | Re : Enregistrer une table dans une base de données (DataTable dans fichier .mdb) ?

AnnihilatorSupernova

Lorsque je compile, j'ai une erreur : "l'instruction foreach ne peut pas agir sur des variables de type 'System.Data.DataTable', cas 'System.Data.DataTable' ne contient pas de définition pour 'GetEnumerator', ou est inaccessible."
Sinon pour le reste, merci c'est exactement ça et je n'ai pas d'erreur.

vendredi 26 août 2005 à 12:22:19 | Re : Enregistrer une table dans une base de données (DataTable dans fichier .mdb) ?

AnnihilatorSupernova

J'ai donc essayé
int i = 0;
oleDbConnection1.Open();
OleDbCommand comm = new OleDbCommand();
comm.connection = oleDbConnection1;
for (i = 0; i < Table.Rows.Count; i++)
{
   
   comm.CommandText = "INSERT INTO Table(col1, col2) VALUES("
                     + (int)Table.rows[i]["col1"] + ", " + (string)Table.Rows[i]["col2"] + ")";
   comm.ExecuteNonQuery();
}
oleDbConnection1.Close();

mais cette fois-ci j'ai une autre erreur : "Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll."

vendredi 26 août 2005 à 12:24:49 | Re : Enregistrer une table dans une base de données (DataTable dans fichier .mdb) ?

SharpMao

Membre Club
Excuse-moi, une petite erreur :

foreach (DataRow dr in dt.Rows)
//...

Amicalement, SharpMao



Cette discussion est classé dans : enregistrer, base, table, données, oledbconnection1


Répondre à ce message

Sujets en rapport avec ce message

Datagrid+base de données [ par fryounet ] Bonjour à tous,voila je programme en C#,j'ai réalisé un DataGrid et une connexion à une base de donnée serveur,la connexion et l'affiche de la table s Problème avec base de données [ par emmanuel9 ] Bonjour à tous, Mon problème vient du faite que j'ai plusieurs tables dans une base de données dont une table personne et j'ai un programme qui ecrit Modifications sur une base de données Access [ par macnan ] Bonjour, je poste ce topic parceque j'ai un problème à executer une "non-query" requête sur ma base de données access. J'arrive à en extraire des info Exporter une table DataTable vers une base de données MS Access [ par hlayachi ] BonjourDans ma petite application, j'ai créé un DataSet, une table DataTable et un DataGrid.Je veux soit ouvrir une base de données Access et afficher Trier une base de donnée liée [ par FanchPot ] Bonjour,Je débute dansla gestion des données sous c# et je suis face à un prblème qui doit être simple mais que je n'arrive pas à résoudre..J'ai deux Insérer un DataTable dans une base de données Access [ par DaFridge ] Bonjour.Ca fait maintenant plus d'une semaine que je ne trouve pas de solution à mon problème. J'ai une base de données Access vide : aucune table, ri Enregistrer fichier en base de données [ par themaste ] Bonjour à tous,Je n'arrive pas à trouver la réponse à ma question.En fait, j'aimerais pouvoir enregistrer des fichiers en bases de données SQL SERVER recuperer les champs d'un table d'une base de données [ par nehla ] salutje veux savoir comment je peut utilser cette instruction pour récuperer les noms des colonnes d'une table précise (cad j'ai deja récuperer le nom type des champs d'un table de base de données [ par nehla ] Salutje savoir comment je peux recupere le type des champs d'un table de base de données en c#.merci d'avancenehloucha recuperer les noms des champs de table d'une base oracle [ par yelima ] salut,je suis en train de remplir un datagridview et j'aimerais faire une requete pour recuperer les "champs" d'une table afin de pouvoir remplir le d


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,172 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.