Question Pour Importer et modifier ma BDD. [Résolu]

Messages postés
8
Date d'inscription
jeudi 28 août 2008
Dernière intervention
18 mars 2009
- - Dernière réponse : Arthenius
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
- 2 sept. 2008 à 18:44
Bonjour,

Je suis Informaticien en Suisse en 3eme année.

Je dois faire un projet en informatique, pour Appeler une base de donnée Access et MySQL en C#. avec des Commande SQL.

J'ai deja reussi a trouver la commande SQL pour ouvrir la base de données et y entrer des données via des TextBox.

Code :

OleDbConnection DBConnection = new OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;Data Source=C:/temp/bd1.mdb");
            OleDbCommand cmd = new OleDbCommand("INSERT INTO Eleve (Nomclasse, Prenomclasse, Anneenaissance) VALUES ('Kevin','Ducomin, '1990')");
           
            cmd.Connection.Open();
            cmd.ExecuteNonQuery();
            cmd.Connection.Close();

Donc avec ce code j'arrive a ouvrir ma Base de donnée Nommé "bd1.mdb" et a ecrire dedans, Mais ... il me faudrais maintenant les commande SQL, pour supprimer une ligne de ma "bd1.mdb".

Apres j'ai un autre "probleme" ... (encore ... :P) ...

Quand je click sur mon bouton "ajout" pour ajouté le contenu des textbox dans ma base de donnée, je dois avoir ma chaine SQL que j'envoye :

INSERT INTO Eleve (Nomclasse, Prenomclasse, Anneenaissance) VALUES ('Kevin','Ducomin, '1990')"

qui s'affiche dans un Textbox, ou il sera possible de modifier des valeurs, et avec un autre Bouton pour envoyer la nouvelle chaine SQL et les nouvelle donnée dans ma Base de donnée...

J'ai essayer ce Code :

 OleDbConnection DBConnection = new OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;Data Source=C:/temp/bd1.mdb");
                string strName = Convert.ToString(textBox4.Text);
                OleDbCommand cmd = new OleDbCommand(strName + ", DBConnection");
                cmd.Connection.Open();
                cmd.ExecuteNonQuery();
                cmd.Connection.Close();

Mais ca ne veux pas marcher, pourtant ... ca devrais :( ... à mon avis c'est acause des " et ' dans ma chaine qui pose probleme ...

Merci de votre reponse au plus vite, Et Je vous souhaite une bonne soirée.

Au Revoir.

k3ts.
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Dernière intervention
26 décembre 2011
3
3
Merci
Salut,

1) Pour supprimer une ligne la commande est la suivante:
DELETE FROM TABLE WHERE COLONNE = VALEUR
un exemple (supprimer l'éleve Kevin):
DELETE FROM ELEVE WHERE  Nomclasse = "Kevin"
Définition [http://sql.1keydata.com/fr/sql-delete.php [ICI]] : http://sql.1keydata.com/fr/sql-delete.php

2) Pour pouvoir modifier des enregistrements, il faut que la table élève contient un clé primaire.
C'est une colonne qui contient un identifiant unique pour chaque élevé.




Définition [http://sql.1keydata.com/fr/sql-cle-primaire.php [ICI]] : http://sql.1keydata.com/fr/sql-cle-primaire.php



3) Dans cette ligne : OleDbCommand cmd = new OleDbCommand(strName + ", DBConnection");
Tu ne peux pas mettre DBConnection entre parenthèses.

A+
               
               

Dire « Merci » 3

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

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

Commenter la réponse de xmox667
Messages postés
8
Date d'inscription
jeudi 28 août 2008
Dernière intervention
18 mars 2009
0
Merci
ReBonjour,

Merci beaucoup pour votre réponse.

Pour la suppression (DELETE FROM) j'ai réussi à faire que ca supprime un des utilisateur suivant le nom prenom et la date.

Voici mon Code :

OleDbConnection

DBConnection =
new
OleDbConnection(
"Provider=Microsoft.JET.OLEDB.4.0;Data Source=C:/temp/bd1.mdb");

OleDbCommand cmd =
new
OleDbCommand(
"DELETE FROM Eleve WHERE(Nomclasse ='" + tbxNomSupp.Text +
"' AND Prenomclasse = '" + tbxPrenomSupp.Text +
"' AND Anneenaissance = " + tbxAnneeSupp.Text + ")", DBConnection);textBox1.Text "DELETE FROM Eleve WHERE(Nomclasse'" + tbxNomSupp.Text +
"' AND Prenomclasse = '" + tbxPrenomSupp.Text +
"' AND Anneenaissance = " + tbxAnneeSupp.Text +
")";cmd.Connection.Open();

cmd.ExecuteNonQuery();

cmd.Connection.Close();

Merci aussi pour la chaine SQL à envoyer.

Voici le code :

OleDbConnection

DBConnection =
new
OleDbConnection(
"Provider=Microsoft.JET.OLEDB.4.0;Data Source=C:/temp/bd1.mdb");

string strName =
Convert.ToString(textBox1.Text);

OleDbCommand cmd =
new
OleDbCommand((strName), DBConnection);cmd.Connection.Open();

cmd.ExecuteNonQuery();

cmd.Connection.Close();

Merci beaucoup en tous cas.

Maintenant je voulasi savoir si qqun saurais comment faire pour, quand je presse sur un bouton, ca actualise les champs de ma DataGridView.

Merci encore et bonne journée.

K3ts
Commenter la réponse de dsadsadsa
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Dernière intervention
26 décembre 2011
3
0
Merci
Salut,
Ca pourrait t'aider[http://www.developerfusion.co.uk/show/3801/6/ [Lien]]:
http://www.developerfusion.co.uk/show/3801/6/
Je te conseille d'ajouter un identifiant unique à chaque éleves c'est plus simple pour pouvoir les supprimer et les modifier.
A+
Commenter la réponse de xmox667
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
14
0
Merci
regarde mon source http://www.csharpfr.com/code.aspx?ID=27738
ca pourra peut etre t'aider

<hr />Arthenius
"Ce qui ne me tue pas, me rend plus fort..."
Commenter la réponse de Arthenius

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.