begin process at 2008 08 08 21:00:57
1 223 607 membres
365 nouveaux aujourd'hui
14 230 membres club

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 : if dans une procédure stocké ? [ Archives / Problème avec une procédure stockée ] (jesusonline)

if dans une procédure stocké ? le 27/11/2004 18:59:07

jesusonline
Membre Club
(Admin CS)
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

Re : if dans une procédure stocké ? le 28/11/2004 22:14:06

fabrice69
(Admin CS)
Réponse acceptée !
Regarde cet exemple :
- http://www.sqlfr.com/code.aspx?id=26595

Romelard Fabrice (Alias F___)

Re : if dans une procédure stocké ? le 28/11/2004 22:51:04

jesusonline
Membre Club
(Admin CS)
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

Re : if dans une procédure stocké ? le 28/11/2004 22:53:28

jesusonline
Membre Club
(Admin CS)
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

Re : if dans une procédure stocké ? le 30/11/2004 00:27:29

jesusonline
Membre Club
(Admin CS)
Réponse acceptée !
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


Classé sous : table, sql, id, procédure, stocké

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS