Odbc

[Résolu]
Signaler
Messages postés
7
Date d'inscription
vendredi 23 novembre 2007
Statut
Membre
Dernière intervention
21 mai 2008
-
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008
-
Bonjour ,

Comment puis je fiare pour inserer une données dans un tableau access??

Voici mon code présent :

private void cnxAccess()
    {
        cnxOdbc.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" + nomBaseAccess;
        cnxOdbc.Open();
    }

    private void SelectTable(string Table,string Champ,string Valeur) //Valeur = valeur a mettre dans la table
        {
              cnxAccess();
              string cmdInsert = "INSERT INTO " + Table + "(" + Champ + ") " + "VALUES (?,?)";
              string cmdSelect = "SELECT " + Champ + " FROM " + Table ;
              OdbcDataAdapter adapter = new OdbcDataAdapter(cmdSelect,cnxOdbc);
              adapter.InsertCommand = new OdbcCommand(cmdInsert);        
    }

merci d'avance!!

4 réponses

Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008

je pense que l'on peut effectivement mais j'ai jamais tester
mais de mon point de vue et avec les différents avis que jai pu avoir pour les base access la méthode oledb est plus fiable
après c'est chacun selon ses préférences
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008

using




System.Data.OleDb;






public



void
ExecuteSQL(

string
Table ,

Dictionary
<

string
,

object
> Params)
{
   string
MyConnexion = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=monURLODBC.mdb;Persist Security Info=True";





string strRequete = "INSERT INTO ["+ Table + 
"] (Nom_Originale, Auteur, Année) ";

trRequete +=
" VALUES (@Originale, @Auteur, @Annee)";

   OleDbConnection
oConnexion =

new



OleDbConnection
(MyConnexion);


   OleDbCommand
oCommand =

new



OleDbCommand
(strRequete, oConnexion);


   OleDbParameterCollection
oParams = oCommand.Parameters;


   foreach
(

string
val

in
Params.Keys)
            oParams.Add(

new



OleDbParameter
(val, Params[val]));
   oConnexion.Open();


   try

   {
         oCommand.ExecuteNonQuery();
   }


   catch
(

OleDbException
ex)
   {


         MessageBox
.Show(ex.Message);
   }


   finally

   {
         oConnexion.Close();
         oCommand.Dispose();
         oConnexion.Dispose();
   }
}

//utilisation

Dictionary<
string,
object> Params =
new
Dictionary<
string,
object>();
Params.Add(
"@Originale", EdtOriginale.Text);
Params.Add(
"@Auteur", EdtAuthor.Text);
Params.Add(
"@Annee",
int.Parse(EdtYear.Text));

ExecuteSQL("matable", Params);
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008

Salut marcog67,

essaie le code juste au-dessus que je t'ai mis !!
Messages postés
7
Date d'inscription
vendredi 23 novembre 2007
Statut
Membre
Dernière intervention
21 mai 2008

a mon avis ca marche ce que ta fais mais ya pas moyen de le faire en odbc

merci