Probleme procédures stockées

Signaler
Messages postés
15
Date d'inscription
mercredi 12 mai 2004
Statut
Membre
Dernière intervention
9 décembre 2004
-
Messages postés
65
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
3 septembre 2004
-
Bonjour j'ai un problème pour afficher le résultat d'un procédure stockées dans un TextBox

Voici un code qui marche en utilisant une requête:
/*private void comboBox1_SelectedValueChanged(object sender, System.EventArgs e)
{
string valeur = comboBox1.Text;
//Ouverture connection
sqlConnection1.Open();
//requête
query = "SELECT LIBELLE FROM CODEAFF WHERE CODEAFF= '"+valeur+"' ";
try
{
//Initialisation de notre requete et connection ds un object OleDbDataAdapter
sqlDataAdapter1 = new SqlDataAdapter(query,sqlConnection1);
//Initialisation d'un new dataset
dataSetAffectation1 = new DataSetAffectation();
SqlCommand SqlCommand1 = new SqlCommand(query, sqlConnection1);
//Exécution de le requête et envoi du résultat dans textLibelléAffectation
textLibelléAffectation.Text= (string) (SqlCommand1.ExecuteScalar());
}
catch (Exception Erreur)
{
MessageBox.Show(Erreur.Message);
}
finally {sqlConnection1.Close();}
}*/


J'ai voulu faire la même chose en utilisant une procédure stockées mais ça ne me renvoi pas le résultat dans la TextBox:

private void comboBox1_SelectedValueChanged(object sender, System.EventArgs e)
{
string ValCombo = comboBox1.Text;
sqlConnection1.Open();
try
{
sqlDataAdapter1 = new SqlDataAdapter();
dataSetAffectation1 = new DataSetAffectation();
SqlCommand sqlCommand2 = new SqlCommand();
sqlCommand2.Parameters["@ValeurComboBox"].Value = ValCombo;
sqlCommand2.ExecuteNonQuery();
string Libelle = (string) sqlCommand2.Parameters["@LibelleAff"].Value;
textLibelléAffectation.Text= Libelle;
}
catch (Exception Erreur)
{
MessageBox.Show(Erreur.Message);
}
finally {sqlConnection1.Close();}
}


Est ce que quelqu'un peu m'aider s'il vous plait
Voici également ma procédure stockées:

ALTER PROCEDURE LibelleAffectation
(@ValeurComboBox char OUTPUT,
@LibelleAff char
)
AS
BEGIN TRAN
SELECT @LibelleAff = LIBELLE
FROM CODEAFF
WHERE CODEAFF = @ValeurComboBox
COMMIT TRAN

Merci d'avance

1 réponse

Messages postés
65
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
3 septembre 2004

Salut,

Est-ce que tu as essayé d'exécuter ta procédure stockée . Es-tu sur qu'elle renvoit qqc ? (parce que ce n'est pas parce que ta requête tourne que ta proc stockée tourne aussi...)

Je ne sais pas si ta proc stockée tourne, mais à ta place je la simplifierait en mettant :
ALTER PROCEDURE LibelleAffectation
(
@ValeurComboBox char,
@LibelleAff char
)
AS

SELECT libelle
FROM CODEAFF
WHERE CODEAFF = @ValeurComboBox

En tout cas, c'est comme ça que je fais les miennes, et ensuite ça tourne...

Ensuite pour récupérer ta valeur tu peux faire
tonreader.read();
tatextbox.text = tonreader.getstring(0);

En général le executereader, c'est pas mal quand tu veux récupérer plusieurs valeurs.

Je ne suis pas sure que ce soit optimisé dans ton cas, alors ça reste à vérifier.

*** Kati ***