Question Pour Importer et modifier ma BDD.

Résolu
dsadsadsa Messages postés 8 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 18 mars 2009 - 1 sept. 2008 à 20:48
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre 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.

4 réponses

xmox667 Messages postés 357 Date d'inscription jeudi 8 juin 2006 Statut Membre Dernière intervention 26 décembre 2011 4
2 sept. 2008 à 04:32
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+
               
               
3
dsadsadsa Messages postés 8 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 18 mars 2009
2 sept. 2008 à 10:29
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
0
xmox667 Messages postés 357 Date d'inscription jeudi 8 juin 2006 Statut Membre Dernière intervention 26 décembre 2011 4
2 sept. 2008 à 16:14
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+
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
2 sept. 2008 à 18:44
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..."
0
Rejoignez-nous