Rechercher : dans
Par :
 Signaler ce message aux modérateurs

Bonjour,

J'ai un problème en sql.
un coureur pratique 1 ou plusieurs épreuves et une épreuve est pratiquer par 1 ou plusieurs coureurs
J'ai une table coureur contenant les informations du coureur ensuite une table pratiquer contenant les id du coureur et l'id de l'épreuve.
J'aimerais en cliquant sur une combobox (contenant l'id du coureur) insérer une épreuve au bon coureur.
j'aimerais en sql insérer un coureur a une épreuve en fonction de la combobox. Je récupère bien la valeur de la combobox il me manque la condition. Je programme en c#.

Voici une parti de mon code pour y voir plu clair:

private void cmdInsérer_Click(object sender, EventArgs e)
{
// la je récupère la l'id du coureur
string vNumLicence = cmbNumLicence.SelectedItem.ToString();
MessageBox.Show(vNumLicence);


les champs sont bons
// voici la requête
string reqEpreuve = "INSERT INTO EPREUVE(codeEpreuve, nomEpreuve) VALUES(codeEpreuveauto.nextval,'" + cmbNomEpreuve.Text + "') ";
MessageBox.Show(reqEpreuve);
MaCom.CommandText = reqEpreuve;
MaCom.ExecuteNonQuery();


Merci, je n'arrive plus.
Bien entendu je sais pas si je peux faire ça.
Merci à tous ceux qui répondront.

Configuration: Windows Vista
Firefox 3.5.5

Meilleures réponses pour « sql » dans :
SQL - Création de table Voir Le SQL, comportant un langage de définition de données (LDD), permet de créer des tables. Pour cela, il utilise le couple de mots clés CREATE TABLE. La création de tables Le création de tables se fait à l'aide du couple de mots-clés CREATE...
Le langage SQL Voir Qu'appelle-t-on SQL? SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage de définition de données (LDD, ou en anglais DDL Data Definition Language), un langage de manipulation de données (LMD, ou en anglais DML,...
SQL - Commande SELECT Voir Le langage de manipulation de données Le SQL est à la fois un langage de manipulation de données et un langage de définition de données. Toutefois, la définition de données est l'oeuvre de l'administrateur de la base de données, c'est pourquoi la...
SQL - éviter les doublons dans un SELECT VoirProblème Comment éviter les doublons dans les résultats d'une requête SQL ? Solution Il suffit d'utiliser la clause DISTINCT entre SELECT et les champs. Exemple : SELECT distinct id,nom,prenom FROM matable Plus d'informations ...
Gestion des paramètres SQL VoirSQL présente un certain nombre de paramètres au niveau d'Oracle qu'il est possible de visualiser à travers la commande : SHOW ALL Pour modifier la valeur d'un paramètre il suffit d'utiliser la commande : SET NOM_PARAM VALEUR
Sauvegarde automatique d'une BDD sous SQL EXPRESS 2005 VoirSi vous vous voulez automatiser une sauvegarde d'une base de données sous SQL server express, il existe une solution simple grâce à un fichier .bat. Créez un nouveau fichier texte. Ce fichier doit contenir les informations suivantes: SET...
SQL - Tri VoirTri des résultats Il est possible en SQL d'organiser les résultats grâce à la clause ORDER BY. La clause ORDER BY est suivie des mots clés ASC ou DESC, qui précisent respectivement si le tri se fait de manière croissante (par défaut) ou...
PL/SQL - Introduction au langage PL/SQL VoirIntroduction au langage PL/SQL Le langage PL/SQL est un langage L4G (entendez par ce terme un langage de quatrième génération), fournissant une interface procédurale au SGBD Oracle. Le langage PL/SQL intègre parfaitement le langage SQL en lui...
SQL - Jointures VoirExpression des jointures Une jointure (ou θ-jointure) est un produit cartésien de deux tables. On appelle équijointure une θ-jointure dont la qualification est une égalité entre deux colonnes. En SQL, l'expression d'une jointure se...

1

tarek_dotzero, le 15 nov 2009 à 01:58:19

Est ce que tu as une ou deux ComboBox?
Sinon, est ce que tu crée une nouvelle épreuve.

Un autre point:

string reqEpreuve = "INSERT INTO EPREUVE(codeEpreuve, nomEpreuve) VALUES(codeEpreuveauto.nextval,'" + cmbNomEpreuve.Text + "') ";


Pour le codeEpreuveauto.nextval

Est ce que c'est vraiment sa place et c'est la bonne formule (délimiteur de la chaîne à vérifier) ???

Répondre à tarek_dotzero

2

batista1300, le 15 nov 2009 à 02:34:16

Merci de m'avoir répondu.
L'insertion d'une nouvelle épreuve est faite par un autre module.
La combobox cmbNomEpreuve.Text récupère le nom de l'épreuve étant stocké dans la table épreuve.
En sélectionnant cette combobox je choisirais celle que je veux mettre.
Pour la syntaxe codeEpreuveauto.nextval est une séquence qui démarre a un.
J'ai constater une erreur, comme j'ai écrit plus haut l'insertion de l'épreuve est faite par un autre module or on a pas besoin de séquence dans ce insert mais de récupérer l'id de l'epreuve et bien entendu le nom de l'épreuve bien ensuite l'insérer.
J'espère avoir été clair sinon je t'enverrai plus d'information encore merci!

Répondre à batista1300

3

tarek_dotzero, le 15 nov 2009 à 04:04:17

Si je ne me trompe pas, tu utilise Access (les séquences et ses méthodes changent énormément d'un SGBD à un autre).
Mais, de toute façon, je pense que la séquence n'est plus nécessaire:
l'insertion d'une relation entre la table ÉPREUVE et la table COUREUR suppose l'existence des deux enregistrement, alors il faut que tu sois capable de récupérer l'ID du coureur et l'ID de l'épreuve, et la séquence n'est plus nécessaire.

Répondre à tarek_dotzero

4

 batista1300, le 15 nov 2009 à 13:53:45

Bonjour,

J'utilise microsoft visual studio 2005, je programme en c#. Mon problème est basé sur ma requête sql. Pour récupérer le nom de l'épreuve dans la combobox est fait mais pouvoir l'insérer au bon coureur. Il faut garder les liens de tables dans le insert into. Et sa je ne sais pas comment faire.
L'information contenant l'id du coureur et l'id de l'épreuve est la table pratiquer.

Répondre à batista1300
Collection CommentÇaMarche.net