IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Accès aux données Discussion :

C# - SQL SERVER 2000 - pb lancement proc parametrée


Sujet :

Accès aux données

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 14
    Points
    14
    Par défaut C# - SQL SERVER 2000 - pb lancement proc parametrée
    bonjour à tous,
    J'ai un problème et la j'ai vraiment besoin de votre aide !! je n'arrive pas à passer une procédure paramètrée, meme avec un seul paramètre en entrée ! pourtant j'ai l'impression que tout est bon ! (il doit bien y avoir une erreur, peut etre une question de config sql server ?)
    pour info, j'utilise VS 2003 et Sql Server 2000 !

    sans le paramètre la proc marche bien, et sous sql server en passant le paramètre ça marche aussi. donc ça peut venir de l'appel de la proc (passage du paramètre ?) ou d'une mauvaise config sql server ou de ma base ?

    Voici mon code d'appel de la proc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SqlCommand cmd = new SqlCommand("ps_select_dvd_2",connexion.co);
    cmd.CommandType = CommandType.StoredProcedure;	
     
    cmd.Parameters.Add("@CODE", SqlDbType.Int, 3).Value = lignevalue;
     
     
    SqlDataAdapter daInfo = new SqlDataAdapter(cmd);
     
    DataSet dsInfos = new DataSet();
    daInfo.Fill(dsInfos);
     
    lblLibelle.Text = dsInfos.Tables[0].Rows[0]["LIBELLE"].ToString();
    et ma procédure stockée toute simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    CREATE PROCEDURE ps_select_dvd_2
    (	
    	@code_dvd	int
    )
    as
    /*sélection d'un dvd à partir de son code */
     
    SET NOCOUNT ON
     
    SELECT d.CODE, 
    	d.LIBELLE, 
    	d.DUREE, 
    	d.FLAGVU, 
    	d.FLAGDISPO, 
    	d.CHEMIN_JAQUETTE, 
    	d.ANNEE_SORTIE, 
    	d.REALISATEUR, 
    	d.SYNOPSYS, 
    	f.libelle,
    	c.libelle
     
     
    FROM 	DVD d,
    	[FORMAT] f,
    	CATEGORIE c
    WHERE d.CODE = @code_dvd
    AND c.code = d.code
    AND f.code=d.code
     
     
    GO
    il plante avec le message :


    Citation:
    Une exception non gérée du type 'System.Data.SqlClient.SqlException' s'est produite dans system.data.dll

    Informations supplémentaires : Erreur système.

    Y-A-t-il un autre moyen que celui que j'utilise pour lancer ma proc ?
    merci de votre aide !

  2. #2
    Membre éprouvé Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Points : 958
    Points
    958
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd.Parameters.Add("@CODE", SqlDbType.Int, 3).Value = lignevalue;
    Est tu sur que lignevalue est un int?

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 14
    Points
    14
    Par défaut
    euh... disons que j'en suis presque sur !

    Nan en fait je crois de mémoire car je suis pas chez moi la, qu'au départ, c'est un string, que j'ai converti ensuite en int avec la fonction convert.ToInt32 (je crois que c'est ça la fonction..)

    et au lieu d'avoir "2", j'ai bien 2 dans la valeur de ligneValue

    Tu crois que ça pourrait être une question de type ? ya pas d'autre moyen que le convert.toint32 pour convertir mon string en int ?

    merci !

  4. #4
    Membre éprouvé Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Points : 958
    Points
    958
    Par défaut
    Je ne jurerait pas que c'est ton problème, mais c'est la première chose que je vérifierais.

    Ensuite, Convert.ToInt32() est la meilleure façon de convertir la représentation d'un nombre int32 en un nombre int32.

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 14
    Points
    14
    Par défaut
    ok je vérifierai ce soir, quitte à essayer avec un string

    mais est-ce le string converti avec convert.ToInt32 est de même type que le paramètre que j'ai passé : SqlDbType.Int ??

    dans la proc c'est un int également, int est compatible avec int32 ? j'espère sinon c'est un peu dommage....

  6. #6
    Membre éprouvé Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Points : 958
    Points
    958
    Par défaut
    Un int "tout court" est un int32 et oui c'est le meme type que le type décrit par SqlDbType.Int.

    As tu installé l'aide MSDN? Toutes ces informations s'y trouvent.

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 14
    Points
    14
    Par défaut
    oui oui je l'ai chez moi. mais je pensais bien que c'etait la meme chose, mais comme j'ai plus d'idée, on sait jamais...

    Bon bah je vous tiens au courant de mes tests. je les ferais ce soir je pense...

    merci !

  8. #8
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 14
    Points
    14
    Par défaut
    Alors là je m'excuse mais au moins 1000 fois !!!! ya pas de problème, je suis juste un blaireau c'est tout !!

    Ce qui n'allait pas : le nom du paramètre. ce n'est pas le meme dans la proc et dans le code...

    désolé pour la perte de temps !! je mérite l'auto-flagellation !!! et la votre !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/04/2008, 15h23
  2. [SQL Server 2000] Lenteur de Proc mais pas de la requete :(
    Par Portekoi dans le forum Développement
    Réponses: 9
    Dernier message: 20/11/2007, 17h11
  3. [SQL Server 2000] Lenteur de Proc mais pas de la requete :(
    Par Portekoi dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 20/11/2007, 17h11
  4. [PROC STOCK / SQL SERVER 2000]
    Par CUCARACHA dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 28/02/2006, 18h29
  5. Débutant : SQL Server 2000
    Par bd0606 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 27/10/2003, 11h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo