begin process at 2010 02 10 07:55:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Base de données

 > 

SQL Server

 > 

valeur d'une textbox et requete sql


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

valeur d'une textbox et requete sql

lundi 15 juin 2009 à 20:04:52 | valeur d'une textbox et requete sql

djbabou

salut a tous

j'aimerai obtenir un peu d'aide! Voila mon problème : j'aimerai construire un datagridview lors d'un chargement de ma form . J'y suis arrivé, en utilisant toutes les objets comme le dataset, le dataadapter, le datarow ...

Cependant, je définit dans une requete sql la table et informations qui devront être affichées.Ma requête sql passe bien. Je me suis rendu compte toutefois qu'en plus de la requete que j'avais déjà, il me fallait rajouter une condtion, et tester un autre champs de ma base de données.

La valeur de ce champs est stockée dans une textbox.

Malheureusement, ma requete sql etant définit lors de la déclaration de mes objets, j'ai le nom de la textbox qui n'est pas définit, et donc qui est souligné. De plus j'ai un message me disant que je ne peux mettre de caractère du type "+" dans ma requete.

Comment faire pour récupérer la valeur de ma textbox pour tester ma requête svp ? Est-ce possible de l'utiliser dans la déclaration de mon formulaire et pas dans une méthode de ce formulaire ?
mardi 16 juin 2009 à 10:20:36 | Re : valeur d'une textbox et requete sql

krimog

Salut

En ce qui concerne le "+", on pourra être plus précis si on voit ta requête, mais globalement, ça veut dire que tu as oublié de fermer les guillemets avant : "SELECT * FROM Table WHERE monChamp = " + maValeur;
Tu peux aussi faire une requête paramétrée, ce sera plus simple :

Quant à ta valeur qui doit se trouver dans une textbox, théoriquement la valeur est mise dans le InitializeComponent(); (si tu as créé ta textbox en mode Design) que tu dois faire avant d'utiliser ton SqlDataAdapteur, DataSet... Donc normalement, tu ne devrais pas rencontrer de problème si tu fais ta requête au bon endroit.

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
mardi 16 juin 2009 à 15:05:47 | Re : valeur d'une textbox et requete sql

djbabou

merci pour ta réponse

ma requete est la suivante :

string

SqlGrid = "SELECT mission.num_ordre,mission.origine,mission.objet,mission.adresse_lieu FROM mission,agent,realiser where agent.identifiant=realiser.identifiant and realiser.num_ordre=mission.num_ordre ";

Mai en fait, ma requête devrait plus être celle ci pour m'afficher correctement mon datagrid :
SELECT mission.num_ordre,mission.origine,mission.objet,mission.adresse_lieu FROM mission,agent,realiser where agent.identifiant=realiser.identifiant and realiser.num_ordre=mission.num_ordre where agent.identifiant='"+txtboxagent.text+"' ";

C'est la dernière condtion que je veux rajouter. Le problème, c'est que j'ai un message d'erreur quand au "+txtboxagent.text+" utilisé. Il s'agit de la textbox que je veux utiliser pour récupérer l'identifiant d'un utilisateur.

Cette requête je la déclare juste après mon :
publicpartialclassdemand_frais :
Form
{
//ici je déclare ma requête sqlGrid
}

Si je le fais ici c'est parce qu'il me faut le faire là sinon quand j'essai de déclarer mon dataadapter pour mon datagrid, il ne reconnait pas sqlGrid . Voici comment je déclare mon dataadapter :
SqlDataAdapter Dtb = newSqlDataAdapter(this.SqlGrid, myConnection);

Je signale que j'ai bien vérifié que la variable utilisé (sqlGrid) est ecrit correctement ( de la même façon ) partout dans mon code

mardi 16 juin 2009 à 15:43:47 | Re : valeur d'une textbox et requete sql

krimog

Réponse acceptée !
Remarques à propos de ta requête :
Dans la 2ème, tu as 2 "WHERE". Pour le 2ème, tu dois le remplacer par un "AND"
Cependant, les jointures de tables telles que tu les fais sont très lentes et prennent des tonnes de ressources, utilise INNER JOIN :
SELECT mission.num_ordre,mission.origine,mission.objet,mission.adresse_lieu FROM mission,agent,realiser where agent.identifiant=realiser.identifiant and realiser.num_ordre=mission.num_ordre where agent.identifiant='"+txtboxagent.text+"' "
=>
"SELECT mission.num_ordre, mission.origine, mission.objet, mission.adresse_lieu FROM mission INNER JOIN realiser ON mission.num_ordre = realiser.num_ordre INNER JOIN agent ON realiser.identifiant = agent.identifiant WHERE agent.identifiant = '" + txtboxagent.Text + "'";
(Sinon, il va s'amuser à traiter le produit du nombre de lignes de chaque table, ce qui devient vite énorme)
Attention également que si agent.identifiant est censé être un nombre, il ne faut pas entourer txtboxagent.Text de '

Ensuite, en ce qui concerne la déclaration de ta requête, il ne faut pas confondre déclaration et initialisation.

public partial class demand_frais : Form
{
    private string maRequete; // Déclaration

    public demand_frais()
    {
        InitializeComponent();
        maRequete = "SELECT ..."; // Initialisation
    }
}

Tu peux faire ton initialisation n'importe quand (tant que c'est avant l'utilisation et après InitializeComponent()), aussi bien dans le constructeur de ta form (comme dans l'exemple) que lors d'un clic sur un bouton, dans une méthode X ou Y...

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
mardi 16 juin 2009 à 17:14:51 | Re : valeur d'une textbox et requete sql

djbabou

merci pour ta réponse

effectivement je n'ai pas remaqué que j'avais mis deux clause where. C'est juste parce que j'ai retapé le code à la main au lieu de le coller, mais dans mon code il n'y a qu'une seule clause, sinon celà m'etonnerai fort que sa passe.

Pour les INNER JOIN tu as raison, je vais m'efforcer de m'y mettre! C'est une mauvaise habitude que j'ai pris .

pour mon souci, j'ai décidé de faire une initialisation. Du coup sa passe niquel. J'ai juste du retirer mes "this" sinon j'avais toujours le même problème.

Si sa peut aider quelqu'un, le code rectifié est le suivant :
la requête  :
SELECT mission.num_ordre, mission.origine, mission.objet, mission.adresse_lieu FROM mission INNER JOIN realiser ON mission.num_ordre = realiser.num_ordre INNER JOIN agent ON realiser.identifiant = agent.identifiant WHERE agent.identifiant = '" + txtboxagent.Text + "'";

Cette requete, je la met directement dans ma fonction, et puis quand je déclare mon dataadapter, je le fais de la façon suivante :
SqlDataAdapter Dtb = newSqlDataAdapter();
Dtb.SelectCommand=newSqlCommand(SqlGrid, myConnection);

  Et la, sa passe !!! 


Cette discussion est classée dans : textbox, sql, valeur, requete, définit


Répondre à ce message

Sujets en rapport avec ce message

Résultat d'une requete sql dans un textbox [ par baloote ] Bonjour,Je suis débutant en C# et je cherche le moyen de mettre le résultat d'une requete dans un textbox.Est-ce possible et si oui, comment puis-je f requete sql et textbox [ par djbabou ] Bonjour Je ne c'est pas si cette question a déjà été postée ailleurs mais je n'est trouvé aucune réponse me satisfaisant.En fait, je cherche à affecte PrintPreview d'une requete SQL [ par Warrer3 ] Bonjour à tous, J'aimerai avoir votre aide sur comment afficher le résultat d'une requête SQL (quelqu'elle soit) dans un PrintPreview classique en GD comment manipuler une BD SQL [ par zied001devil ] bonsoir, je suis débutant en C#, je veux savoir comment je peux insérer des données dans dans ma base, j ai des textbox, comment je peux ajouter ce qu Erreur de DataRowState [ par Beluzzo ] Bonjour, Voilà mon petit soucis, j'ai un dataset reprenant des informations de clients. Celui ci est bindé sur différents textbox afin de permettre u Comment récuperer la valeur d'un item d'une listebox dans un textBox [ par piegues007 ] slt j voudrai savoir comment récuperer la valeur d'un item d'une listebox dans un textBox.Apres mettre la valeur dans ce textbox dans un treeview.aid Adition et soustarction de valeur inscrite dans des text.box [ par babaOrhumette ] Bonjour, J'essaie actuellement d'ajouter les valeurs hexadécimale contenu dans 2 textbox et que le résultat apparaisse dans une 3eme textbox. Par ex requete sql c# [ par selma22 ] j'ai une datagridview contenant une table je veux ajouter une requete dont la clause where est : nom champ=une variable dans mon code comment je peux requette insert c# + sql [ par aminem15 ] bonjour, je travaille sur une requette qui apparait simple mais ca marche pas. je veux inserer une valeur d'un textbox que j'ai deja saisi dans une au requete avec parametre output [ par tintin972 ] Salut à tous,Je cherche à lier 3 tables voir ce postL'une des manière de lier les 2 dernieres tables serait que la requete qui rempli ma deuxiéme tabl


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales