Bonjour à tous,
saviez vous comment peut on mettre à jour une bdd access, qui est ouverte à partir d'une application c#
Bonjour à tous,
saviez vous comment peut on mettre à jour une bdd access, qui est ouverte à partir d'une application c#
merci HULK pour le lien
j'ai déjà fait les étapes citées, mais sans résultat. la seule différence entre mon code et ces étapes c'est que moi je n'utilise pas un composant OleDbDataAdapter.
donc mon problème reste toujours tel quel.
bah c'est quoi le probleme alors ?? tu as un message d'erreur ??
bonjour
voilà mon problème en détails
je fais une connexion à une bdd Access, je fais un binding et j'affiche le contenue dans le datagrid.
la bdd Access contient plusieurs tables, à chaque fois je change seulement la source du datagrid et le contenu de la table souhaitée est affiche. jusque là avec l'import et l'affichage tout marche bien.
mais quand fais quelques modifications dans le datagrid, je veux (après un événement click sur un bouton par exemple) je veux mettre à jours ma bdd. et c'est ça mon problème cher ami HULK.
donne nous ton code pour afficher les données dans le datagrid et celui pour l'updater
// Se connecter à la base de données et s'en sortir les données.
privatevoid OuvrirBD(string monfichier)
{
// Ajouter la table contenant les données initiales au DataSet.
monDataSet.Tables.Add(mesDonnees);
// Les paramètres de la connexion.
string paramAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + monfichier;
// La requête.
string requeteAccessSelect = "SELECT * FROM mesDonnees";
OleDbConnection maConnAccess = null;
try
{
maConnAccess = newOleDbConnection(paramAccessConn);
// Exécuter la commande Select sur la base de données.
try
{
OleDbCommand maCommandeAccess = newOleDbCommand(requeteAccessSelect, maConnAccess);
// monDataAdaptateur permet de remplir le flux de données
// dans un DataSet.
monDataAdaptateur = newOleDbDataAdapter(maCommandeAccess);
maConnAccess.Open();
// Ici on remplit les données dans le DataSet
//monDataAdaptateur.Fill(monDataSet, "mesDonnees");
monDataAdaptateur.Fill(monDataSet, "mesDonnees");
}
catch (Exception ex)
{
MessageBox.Show("Erreur: Echec de trouver la table demandée depuis la base de données.\n" + ex.Message, "Erreur");
return;
}
}
catch (Exception ex)
{
MessageBox.Show("Erreur: Echec de créer une connexion à la base de données. \n" + ex.Message);
return;
}
}
....
monDataGridView.Update();
DataTable tamp = (DataTable) monDataGridView.DataSource;
monDataAdaptateur.Update(tamp);
Merci
hé bé c'est pas étonnant qu'il ne prenne pas en compte tes modifications dans ta base !!!!
Si tu utilise Visual Studio tu devrais passer par le concepteur, quand tu prends un dataadapter, il te genere automatiquement des requetes UPDATE INSERT et DELETE. C'est grace à ca que les modifs dans ton datagrid prendront effet dans ta base access par l'intermediaire de cette ligne :
est ce que tu utilise visual studio ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 monDataAdaptateur.Update(tamp);
oui j'utilise visual studio
c'est quoi le concepteur? c'est un composant?
Partager