Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : SqlDataSource & procédure stockée: retour d'un paramètre [ Base de données / ADO.NET ] (Max207)

jeudi 21 février 2008 à 13:24:34 | SqlDataSource & procédure stockée: retour d'un paramètre

Max207

Bonjour à tous!

Dans le cadre de mon stage en ASP.NET & C#, je dois utiliser des procédures dans la base de donnée pour mon application. Je tente de faire quelque chose mais ça ne fonctionne pas (d'où la raison de mon message ... lol).

J'utilise une SqlDataSource (c'est vraiment pratique ce truc!) et je l'ai associée à une procédure stockée de ma base de donnée. Cette procédure retourne toujours une seule valeur (de type int) par exemple: 0 (qui veut dire OK), 1 (Pas OK), etc.

Ce que j'aimerai faire c'est lors d'un clic sur un bouton:
- excécuter cette procédure
- obtenir la valeur de retour de cette procédure
- mettre cette valeur dans une variable ou l'afficher dans un Label.

Voici un exemple de code simple (ma procédure n'a pas de paramètre à envoyer):
ASPX


    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" OnClick="Essai1" Text="Lancer procédure" /><br />
        <br />
        &nbsp;&nbsp;</div>
        <asp:Label ID="Label1" runat="server"></asp:Label><br />
        &nbsp;<br />
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
            SelectCommand="ma_procedure1" SelectCommandType="StoredProcedure"></asp:SqlDataSource>
    </form>

ASPX.CS

    protected void Essai2(object sender, EventArgs e)
    {

        ???????? Quoi mettre ????????

    }


Je ne sais pas quoi mettre dans l'évènement pour récupérer la valeur de ma procédure stockée à partir de cette datasource. Pourriez-vous me mettre sur le droit chemin

Un autre question:

Je sais qu'il y a moyen de réaliser ce que je veux faire directement en code C# mais ici j'ai choisi la facilité en usant des SqlDataSource. Je me demandais au niveau théorique quel est le meilleur moyen à utiliser? Est-ce que utiliser des SqlDataSources pour les procédures n'est pas un processus trop lourd?

Merci d'avance de bien vouloir m'éclairer. Bonne journée




jeudi 21 février 2008 à 13:30:00 | Re : SqlDataSource & procédure stockée: retour d'un paramètre

Max207

Purée je me suis carrement trompé de site ou poser cette question. Excusez-moi ^^ Mais bon C# et ASP.NET même combat.


jeudi 21 février 2008 à 16:34:30 | Re : SqlDataSource & procédure stockée: retour d'un paramètre

mimosa803

Réponse acceptée !

Bonjour, personnellement j'utilise le code c# au lieu du datasource, voila un bout de code qui manipule les procédures stockées et j'espère que ca va vous aidez :

 

strConnection = System.Configuration.

ConfigurationManager .ConnectionStrings[ "NSConnectionString" ].ConnectionString; //nom de la chaine de connexion

cn =

new SqlConnection (strConnection);

try

{

cn.Open();

string nom_proc = "Ajouter_PROFILE_ACCESS_RIGHT" ; // nom de la procédure stockée

SqlCommand cm = new SqlCommand (nom_proc, cn); //objet command

cm.CommandType =

CommandType .StoredProcedure;

SqlParameter parma1 = cm.Parameters.Add( "@screen" , SqlDbType .VarChar, 50); // déclaration des paramètres

SqlParameter parma2 = cm.Parameters.Add( "@profile_id" , SqlDbType .Int);

parma1.Value = Profile_Screen_DropDownList.Text;

parma2.Value =

Convert.ToInt64(Profile_Shortname_DropDownList.SelectedValue);

cm.ExecuteNonQuery();// exécuter la procédure dans le cas où elle ne retourne rien

}

catch (Exception E)

{

Profile_Label.Text = E.Message.ToString();

}

finally

{

cn.Close();

cn.Dispose();

}


vendredi 22 février 2008 à 10:17:31 | Re : SqlDataSource & procédure stockée: retour d'un paramètre

lassaad83

Membre Club
Réponse acceptée !

Dans ton cas je te conseil plutot d'utliser ceci :

// te retourne la première valeur de la premiere ligne du jeux de résultat
// à utiliser dans le cas ou tu est sur que ta PS ne te retourne qu'une seule ligne.
Label.Text = ( string )cm.ExecuteScalar();

// dans le cas où  tu as plusieur ligne au niveau du jeu de résultat, tu devra passer par un DataReader.


SqlDataReader
dr;
dr = cm.ExecuteReader();
while (dr.Read())
{
         // traitement
}
dr.Close();

Ps: je pense que que tu devrais tout gerer manellement, tu en apprendrais beaucoup plus.

vendredi 22 février 2008 à 16:26:11 | Re : SqlDataSource & procédure stockée: retour d'un paramètre

Max207

Merci pour vos réponses, je vais tenter de me débrouiller avec ça



Cette discussion est classé dans : valeur, sqldatasource, stockée, procédure, retour


Répondre à ce message

Sujets en rapport avec ce message

Procedure stockée + Repeater [ par ascj ] Lorsque j'utilse une procédure stockée avec 1 parametre + un datareader, il me retourne "Could not find stocked procédure"En débugant je constate que Procédure stockée un peu difficile... [ par Kati83 ] Bonjour,J'ai une table qui contient les informations sur les actualités que je veux afficher sur mon site (id, titre, résumé, contenu)Je voudrais crée recuperer la valeur de retour d'une proc stoquée [ par lamiruth ] Bonjour,SVP  voici mon codeDatabase Madatabase = DatabaseFactory.CreateDatabase(); string sql = "MaProc"; DBCommandWrapper dbCommandWrapper = database Utiliser le résultat d'une procédure stockée. [ par spottydj ] Bonjour, Sous SQL Server 2000, j'ai créé une procédure stockée, que voici.CREATE PROCEDURE calculPrixSemaine (@annee int, @numSemaine int, @idCategori Comment faire pour avoir les résultats d'une procédure stockée SQL 2005 dans un rapport vs2005 reporting? [ par pisse_ko_pat ] Bonjour, je vous expose le plus simplement possible mon problème un peu compliqué.Je dois faire du reporting sous vs2005 avec l'outil intégré (pas cry Creation de procedure stockée [ par Online ] Bonjour,Voici ma questionJ'ai une textBox et un bouton.Je voudrais pouvoir y entrer une procédure stockée et des que je clic sur le bouton, la procédu Comment créer une procédure stockée dont la source est une procédure stockée? [ par zomba2 ] Bonjour, Chose facile en Access, que je ne sais pas faire en c# (newbie oblige !!!)... je veux que le résultat d'une procédure stockée soit la source appel procédure stockée [ par paloxicide ] Comment faire appel à une procedure stockée qui renvoie une table Propriétés d'une procédure stockée SQL Serveur [ par Bubuss ] Salut!J'aurai souhaitez savoir si il était possible d'analyser une procédure stockée pour savoir par exemple si elle retourne un curseur et si oui les Quitter une procédure [ par Lus ] Bonjour,Ma question est simple !Je voudrais savoir comment forcer une procédure à se quitter.Exemple si j'ai :if (valeur == 2){   // Quoi mettre ICI p


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.