Insert ne fonctionne pas

Signaler
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008
-
Messages postés
4
Date d'inscription
mercredi 1 novembre 2006
Statut
Membre
Dernière intervention
24 février 2008
-
bonjour à tous,

voila j'ai un petit problème, j'arrive à me connecter à ma base access et à selectionner des enregistrements.
Lorsque je fais un ajout, cela m'ajoute dans mon application (lorsque je fais un refresh) l'enregistrement que je souhaite mais pas dans la base de données... du coup à chaque fois que je relance mon programme, tout disparait.

voici mon code :

 

  
        'requête SQL
        insert_prof = "INSERT INTO professeur (nom, prenom) VALUES ('toto','titi')"

        'Parametrage de la chaine de connection
        Connection.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & "data source= " & Application.StartupPath & "" & "base.mdb;"

        'Création d'un objet commande
        Dim cmd As New OleDb.OleDbCommand

        MsgBox(insert_prof)

        cmd = New OleDbCommand(insert_prof)

        'on récupère la connexion dans l'objet
        cmd.Connection() = Connection

        'ouverture de la connection 
        Connection.Open()

        Try
            'je lance la requête
            cmd.ExecuteNonQuery()
        Catch ex As Exception
            MessageBox.Show(ex.ToString())
        End Try
        'Fermeture de la connection
        Connection.Close()

        Me.Close()




merci d'avance pour votre aide..

6 réponses

Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

dsl pour la mise en page, cela n'a pas fonctionné je ne sais pour quelle raison...
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

bonjour à tous,

voila j'ai un petit problème,

j'arrive à me connecter à ma base access et à selectionner des enregistrements.

Lorsque je fais un ajout, cela m'ajoute dans mon application (lorsque
je fais un refresh) l'enregistrement que je souhaite mais pas dans la
base de données... du coup à chaque fois que je relance mon programme, tout disparait.


voici mon code :

<!-- BEGIN TEMPLATE: bbcode_code -->

Code :
<!--[if !IE]><--><!----><!--[endif]--><!--[if IE]>
<![endif]-->
'requête SQL insert_prof = "INSERT INTO professeur (nom, prenom) VALUES ('toto','titi')"

'Parametrage de la chaine de connection
Connection.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & "data source= " & Application.StartupPath & "" & "base.mdb;"

'Création d'un objet commande
Dim cmd As New OleDb.OleDbCommand
MsgBox(insert_prof)
cmd = New OleDbCommand(insert_prof)

'on récupère la connexion dans l'objet
cmd.Connection() = Connection

'ouverture de la connection
Connection.Open()

Try
'je lance la requête
cmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try

'Fermeture de la connection
Connection.Close()

<!-- END TEMPLATE: bbcode_code -->je pense que c'est plus clair comme ca
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

quelqu'un aurait une idée svp ?

merci bien
Messages postés
85
Date d'inscription
mercredi 17 septembre 2003
Statut
Membre
Dernière intervention
20 mars 2012

salut ,

voila une requete que j'utilise pour la création d'enregistrement

        Set db = DBEngine.Workspaces(0).OpenDatabase(MyBase)
        requete = "INSERT INTO personnel VALUES(" 'creation de la requete
        requete = requete + "'" & Label2.Caption & "',"
        requete = requete + "'" & Text1.Text & "',"
        requete = requete + "'" & Text2.Text & "',"
        requete = requete + "'" & Text3.Text & "',"
        requete = requete + "'" & MaskEdBox1.Text & "',"
        requete = requete + "'" & MaskEdBox2.Text & "',"
        requete = requete + "'" & Text3.Text & "')"
       
        db.Execute requete 'execution de la requete
        db.Close
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
5 décembre 2008

merci pour ta réponse, mais je suis sous vb2005, je ne pense pas que cela fonctionne.
En fait mon probleme se résumerait plutot en :
comment forcer mon application à faire un "commit" lors de la création d'un enregistrement..
Messages postés
4
Date d'inscription
mercredi 1 novembre 2006
Statut
Membre
Dernière intervention
24 février 2008

bonjour,
j'ai eux la meme probleme dans la phase de developpemement avec une base de donnée access.
bon j'ai trouvé la solution:
bon mois je travail avec le c# mais c presque le meme en vb.net.
ma solution été d'utiliser le OdbcConnection et odbccommande ... au lieu des oledbconnection...
et la chaine de connection sera:
string connectionString = @"Driver={Microsoft Access Driver (*.mdb)};DBQ=chemin_de_ta _base";
et ensuite:
OdbcConnection conn = new OdbcConnection(connectionString);
et le reste c facile,normalement tout ça marche bien "insertion,delete,update..".
bonne chance à tous.