Enregistrer des données dans une base SQL [Résolu]

Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010
- - Dernière réponse : nhervagault
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
- 4 févr. 2009 à 20:56
 Bonsoir

J'essaye d'effectuer un enregistrement dans ma base et je tourne en rond.
Alors si vous trouvez ce qui cloche...

Dim MaConnexion
As OleDbConnection =
New OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
"C:\
"DataSecretPasse.mdb;Jet OLEDB)

Dim Enreg
As OleDbCommand = MaConnexion.CreateCommand

MaConnexion.Open()

Enreg.CommandText =
"INSERT INTO TableSecret (SiteInternet,Pseudo,MotPasse,AdresseInternet) VALUES ('" & TextSite.Text &
"','" & TextPseudo.Text &
"','" & TextMotPasse.Text &
"','" & TextAdresseSite.Text &
"')"

Enreg.ExecuteNonQuery()

Hélas, lorsque je ferme le programme et que je le relance, mes données ne sont pas enregistrées.

pouvez-vous m'expliquer pourquoi ?

Merci

PhilouVB
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
21
3
Merci
Salut,

Regardes ta chaine de connection elle est bizarre, elle ne compile pas à vue de nez.

Ne pas mettre la base de données dans le répertoire bin
car elle est écrasée.

Bon dev

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 141 internautes nous ont dit merci ce mois-ci

Commenter la réponse de nhervagault
Messages postés
129
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
26 juillet 2011
3
Merci
Hum si tu te ressert de ce que je t'ai déjà donné dans un autre post tu devrai pouvoir y arriver tout seul. Mais à vrai dire, je pense que ce n'est pas enregistré car il te faut au moins utiliser la fonction "ExecuteScalar()"...je pense que là tu exécute la requête mais les résultats ne sont pas utilisés.
Bon courage !
Peace

 

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 141 internautes nous ont dit merci ce mois-ci

Commenter la réponse de GarnierFlorian
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
21
3
Merci
@GarnierFlorian
excutescalar et executequery c'est pour les select

mais il est pas interdit de les utiliser poour des ordre insert

Pour les insert, update, delete c'est executenoquery

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 141 internautes nous ont dit merci ce mois-ci

Commenter la réponse de nhervagault
Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010
3
Merci
Bonsoir et tout d'abord un grand merci à tous les deux.

j'ai suivi le conseil de nhervagault et j'ai déplacé ma base de données.
Et la tout fonctionne correctement. Mes lignes de commandes étaient bonnes. J'ai juste modifié le chemin

J'ai deux  autres questions ou plutot une question et un conseil à demander.

1- Existe-t-il une commande pour obtenir le chemin par défaut de la base  de données ? et comment l'insérer dans une ligne de connection ?

2 - Lorsque je connecte ma base de données, j'ai pris pour habitude de la fermer systematiquement après une manipulation.
Est-il mieux de la laisser continuellement ouverte, pendant que le programme fonctionne et de la fermer à la cloture du programme. Ou bien est-il mieux de faire comme je fais, c'est à dire de la fermer après chaque instruction.

Merci et je vous dis à très bientot pour de nouvelles questions.

PhilouVB

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 141 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_PHILOUVB
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
21
3
Merci
Donc ta chaine de connexion était fausse ;-)

1 -->
La chaine de connexion est à mettre dans le fichier app.config
http://msdn.microsoft.com/fr-fr/library/system.configuration.configurationmanager(VS.80).aspx

Comme pas besoin de recompiler le projet dans le cas de changement de place.

Sinon il est conseiller dans la mettre une classe de configuration
statique ou sigleton pour gere les connexions à la base de données et centraliser le maximum le code.

2 --> ADO.NET est fait pour fonctionner en mode déconnecté avec les datasets
ou en mode connecté avec les reader et les executequery

Moins le temps d'une connexion est important mieux c'est.

Moins de risque de verrouillage et moins de connections dans le pool de connexion de la base.

De plus ADO.NET a été fait pour faire du mode WEB ou client serveur.

Il est conseillé de mettre les fermetures des connections dans le bloc finally, pour etre sur des liberations de c'est derniere.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 141 internautes nous ont dit merci ce mois-ci

Commenter la réponse de nhervagault