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

VB 6 et antérieur Discussion :

Procédure stockée ne s'exécute pas correctement


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Procédure stockée ne s'exécute pas correctement
    Bonjour, j'ai un problème que je n'arrive pas vraiment à comprendre : dans mon code vb, j'exécute une procédure stockée avec paramètres, pourtant, je m’aperçois ne rien n'a bougé dans ma base SQL, pourtant, quand je l'exécute sous SQL-Server 2008 R2 avec les mêmes paramètres, je vois que les modifications apportées ont été réalisées, wtf?

    Côté vb:
    Code vb : 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
     Dim rs As New ADODB.Recordset
    Dim cmd As New ADODB.Command
    Dim l_code As Integer = -1
    Dim l_msg As String = ""
     
    With cmd
     'la chaine de connexion est de la forme suivante : Provider=SQLOLEDB.1;Data Source=serveur;Initial Catalog="xxx";User ID=xxx;Password=xxx
     .ActiveConnection = getConnexion() 
    .CommandText = "Z_PS_GenererEcrituresComptables"
    .CommandType = CommandType.StoredProcedure
     
    .Parameters("@idSession").Value = 'N34L100031'
     
     .Parameters("@centralisationBancaire").Value = 1
    End With
    rs = cmd.Execute
    If rs.EOF = False Then
        l_code = rs.Fields(0).Value 'je récupère 0
        l_msg = rs.Fields(1).Value 'je récupère ok
    End If
     
    If l_code > 0 Then
     MsgBox(l_msg, MsgBoxStyle.Critical, "Stored Procedure")
    End If
     
    If rs.State > 0 Then
        rs.Close()
    End If
    rs = Nothing

    Ma procédure stockée se présente de la manière suivante:
    Code SQL : 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
     
    ALTER PROCEDURE [dbo].[Z_PS_GenererEcrituresComptables](@idSession varchar(50),@centralisationBancaire tinyint)
    AS
    BEGIN
    	-- SET NOCOUNT ON added to prevent extra result sets from
    	-- interfering with SELECT statements.
    	SET NOCOUNT ON;
     
    	begin try
    		begin tran
    		--exécution de requêtes UPDATE et INSERT
    		commit
    		select 0,'ok'
        	end try
        	begin catch
    		if @@TRANCOUNT>0
    			begin
    				select 99, ERROR_MESSAGE()
    				rollback
    			end
        	end catch
    END

    Sous SQL-Server, quand je fais clic droit sur ma procédure stockée, je fais "Exécuter la procédure stockée...", je donne les mêmes valeurs aux paramètres, ce qui me génère le code suivant (et qui marche dans ce cas là):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DECLARE	@return_value int
     
    EXEC	@return_value = [dbo].[Z_PS_GenererEcrituresComptables]
    		@idSession = N'N34L100031',
    		@centralisationBancaire = 1
     
    SELECT	'Return Value' = @return_value
     
    GO
    Vous voyez d'où ça pourrait venir?
    Merci

    Edit : j'ai réussi en mettant le code suivant :

    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    With cmd
    .ActiveConnection = getConnexion() 
    .CommandText = "Z_PS_GenererEcrituresComptables(N'N34L100031',1)"
    .CommandType = CommandType.StoredProcedure
    end with
    rs = cmd.Execute
    Dernière modification par Invité ; 23/09/2015 à 17h41.

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

Discussions similaires

  1. problème thread ne s'exécute pas correctement
    Par oumay dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 04/03/2010, 12h15
  2. La procédure évènementielle ne s'exécute pas
    Par Peter K. dans le forum VBA Access
    Réponses: 3
    Dernier message: 24/08/2009, 09h37
  3. Réponses: 26
    Dernier message: 24/06/2009, 09h32
  4. Procédure stockée qui ne marche pas
    Par sheura dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 27/02/2007, 18h15

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