Insert ne fonctionne pas

billut Messages postés 74 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 5 décembre 2008 - 14 nov. 2007 à 10:37
anisgabes Messages postés 4 Date d'inscription mercredi 1 novembre 2006 Statut Membre Dernière intervention 24 février 2008 - 24 févr. 2008 à 11:55
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

billut Messages postés 74 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 5 décembre 2008
14 nov. 2007 à 10:38
dsl pour la mise en page, cela n'a pas fonctionné je ne sais pour quelle raison...
0
billut Messages postés 74 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 5 décembre 2008
14 nov. 2007 à 11:55
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
0
billut Messages postés 74 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 5 décembre 2008
15 nov. 2007 à 09:38
quelqu'un aurait une idée svp ?

merci bien
0
cs_hustler Messages postés 85 Date d'inscription mercredi 17 septembre 2003 Statut Membre Dernière intervention 20 mars 2012
15 nov. 2007 à 12:05
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
billut Messages postés 74 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 5 décembre 2008
15 nov. 2007 à 14:22
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..
0
anisgabes Messages postés 4 Date d'inscription mercredi 1 novembre 2006 Statut Membre Dernière intervention 24 février 2008
24 févr. 2008 à 11:55
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.
0
Rejoignez-nous