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

jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 27 nov. 2004 à 18:59 - Dernière réponse : jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention
- 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 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 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 1766 Messages postés jeudi 12 octobre 2000Date d'inscription 11 décembre 2013 Dernière intervention - 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 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 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 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 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.