If dans une procédure stocké ? [Résolu]

jesusonline
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Dernière intervention
13 octobre 2010
- 27 nov. 2004 à 18:59 - Dernière réponse : jesusonline
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Dernière intervention
13 octobre 2010
- 30 nov. 2004 à 00:27
Bonjour, je ne connais pas encore SQL

j'ai une table articles qui a un champ ID et je voudrais une fonction stocké qui prend en paramètre un ID et qui me retourne true si cet ID existe dans la table articles, sinon false

pour l'instant j'en suis la :

CREATE PROCEDURE dbo.IsValidArticleId
(
@ArticleId int,
)
AS
RETURN

je travaille avec Sql Server (MSDE)

MErci

Cyril
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
jesusonline
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Dernière intervention
13 octobre 2010
- 30 nov. 2004 à 00:27
3
Merci
pour ceux que ca interesse, voici comment je me suis debrouillé.

        Public Function isValidArticleID(ByVal IDArticle As Integer) As Boolean

            mConn.Open()
            Dim mCommand As New SqlCommand("isValidArticleID", mConn)
            'Paramètre de la procédure stockée
            mCommand.CommandType = CommandType.StoredProcedure
            mCommand.Parameters.Add("@ArticleID", IDArticle)
            Dim SQlReturn As New SqlParameter("@Return_Value", SqlDbType.Int)
            SQlReturn.Direction = ParameterDirection.ReturnValue
            mCommand.Parameters.Add(SQlReturn)

            Try
                mCommand.ExecuteScalar()
                If CType(SQlReturn.Value, Integer) = 1 Then
                    Return True
                Else
                    Return False
                End If

            Catch ex As Exception
                Return False
            Finally
                mConn.Close()
            End Try

        End Function



Cyril

Merci jesusonline 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de jesusonline
cs_fabrice69
Messages postés
1766
Date d'inscription
jeudi 12 octobre 2000
Dernière intervention
11 décembre 2013
- 28 nov. 2004 à 22:14
1
Merci
Regarde cet exemple :
- http://www.sqlfr.com/code.aspx?id=26595

Romelard Fabrice (Alias F___)
Commenter la réponse de cs_fabrice69
jesusonline
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Dernière intervention
13 octobre 2010
- 28 nov. 2004 à 22:51
0
Merci
ok merci, j'ai vu et j'en ai fait ca :

ALTER FUNCTION dbo.IsValidArticleID ( @ArticleID int)
   RETURNS int 
AS  
   BEGIN
      DECLARE @return int
    
      SELECT @return=ID from Articles WHERE ID = @ArticleID
    
      IF @return IS NOT NULL
         RETURN 1
      ELSE
      BEGIN
         RETURN 0
      END

      RETURN 0
   END



mais j'ai quand meme une question, comment faire pour retourner un boolean ? et deja est-ce possible ?

et puisque je sais que tu connais asp.net, peut on directement accéder à ma fonction ainsi créer, et si oui comment ?

j'ai fait ca :

mConn.Open()
Dim mCommand As New SqlCommand("isValidArticleID", mConn)
'Paramètre de la procédure stockée
mCommand.CommandType = CommandType.StoredProcedure
mCommand.Parameters.Add("@ArticleID", IDArticle)

Try
If ReadInteger(mCommand.ExecuteReader, "Value") = 1 Then
Return True
Else
Return False
End If

Catch ex As Exception
Return False
Finally
mConn.Close()
End Try

mais bien sur ca plante

Merci

Cyril
Commenter la réponse de jesusonline
jesusonline
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Dernière intervention
13 octobre 2010
- 28 nov. 2004 à 22:53
0
Merci
Public Function ReadInteger(ByVal Source As IDataReader, ByVal Field As String) As Integer
If Not Source.Item(Field) Is DBNull.Value Then
Return CType(Source.Item(Field), Integer)
End If
End Function

et j'ai aussi essayé
If CType(mCommand.ExecuteScalar, Integer) = 1 Then

mais idem

Cyril
Commenter la réponse de jesusonline

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.