Bonjour,
je bloque sur l'execution d'une procedure stockée en VB.Net :
Voici ma procédure stockée :
La requête en elle-même marche. Je l'ai testé avec le paramètre que j'essaie de lui passer :
Code : 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 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go -- ============================================= -- Author: < -- Create date: <17/12/2008> -- Description: <Permet de"charger" dans T_ExtraitDISoldées les Serial pour l'appli RobotIndicateurTestFianl> -- ============================================= ALTER PROCEDURE [dbo].[sgm_ExtraitNSPFinTestFinal] -- Add the parameters for the stored procedure here @ListeNS as nvarchar(1024) AS -- Vide la table DELETE FROM T_ExtraitDISoldees --Je vide ma table au préalable. INSERT INTO T_ExtraitDiSoldees(DI,Ns_NewPfin,Ns_PFin,DateSolde,Code_NewPFIN,Defaut_Client,Statut_DI, Famille,Ns_CIE,Date_DI) SELECT infoDI.DI, NS_NewPFin, NS_PFin,Date_SoldeSAP, Code_NewPFIN,CodeDefaut,Statut,Famille,Ns_CIE,Date_DI FROM data_rgw.dbo.infoDI infoDI INNER JOIN ( SELECT MAX(Date_DI) AS maxDate, DI FROM data_rgw.dbo.infoDI GROUP BY DI ) s ON infoDI.DI = s.DI AND infoDI.Date_DI = s.maxDate WHERE infodi.Ns_PFin IN (@ListeNS) ORDER BY Date_DI DESC
'023000079220','023000103905','023000093379','023000095317','023000084428','808062019856','808054018825',
'023000079220','023000103905','023000093379','023000095317','023000084428','023000096190','808062019856',
'808054018825','507486013221','808034048129','808024019361'
Quand je remplace @ListeNS dans la requête elle me retourne bien des enreg.
Par contre, quand je lance mon appli et que je passe par VB.Net donc, elle ne me retourne aucun enregistrement....
Voici mon code VB.Net (qui plante puisque c'est pas la requête ):
Je pense que c'est au niveau de la ligne :
Code : 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 cnE = New SqlConnection(MainForm.sChaineConnexion2) cnE.Open() commandE = New SqlCommand(sNomProcedure, cnE) commandE.CommandText = sNomProcedure commandE.CommandTimeout = 120 commandE.CommandType = CommandType.StoredProcedure If Not vParametre = "" Then Dim oParam As SqlParameter = commandE.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ListeNS", System.Data.SqlDbType.NVarChar, 1024)) oParam.Value = vParametre 'contient bien la bonne valeur End If commandE.ExecuteNonQuery() ExecuteProcedureStocke = True msMsgConnexion = "ExecuteProcedureStocke OK" cnE.Close() cnE = Nothing
Mais je ne sais pas comment controler s'il passe le paramètre ou non à ma variable @ListeNS ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Dim oParam As SqlParameter = commandE.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ListeNS", System.Data.SqlDbType.NVarChar, 1024))
Merci d'avance pour votre aide...
Partager