If dans une procédure stocké ?

Résolu
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 27 nov. 2004 à 18:59
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre 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
A voir également:

4 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
30 nov. 2004 à 00:27
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
3
cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
28 nov. 2004 à 22:14
Regarde cet exemple :
- http://www.sqlfr.com/code.aspx?id=26595

Romelard Fabrice (Alias F___)
1
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
28 nov. 2004 à 22:51
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
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
28 nov. 2004 à 22:53
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
0
Rejoignez-nous