Bonjour,
base de donnnées sql server 2008
je développe une application vb qui exécute une procédure stockée qui fait appel a deux fonctions(scalar function)
Quand j’exécute l'application l'erreur suivante s'affiche
la sous requête a retourné plusieurs valeurs.cela n'est pas autorisé quand la sous requête suit =,!=,<,<=,=>,> ou quand elle est utilisée entant qu'expression
la sous requête a retourné plusieurs valeurs.cela n'est pas autorisé quand la sous requête suit =,!=,<,<=,=>,> ou quand elle est utilisée entant qu'expression
l'instruction a été arrêtée
l'instruction a été arrêtéeVoici le code vb
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
30 USE [GestionPaie] GO /****** Object: StoredProcedure [dbo].[Calcul_paie] Script Date: 03/08/2014 13:09:47 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER proc [dbo].[Calcul_paie] @Mois int, @Année int as begin delete from table1 where Mois=@Mois and Année=@Année --Salaire de base Numéro 1 insert into table1 select Id_fonctionnaire,1, @Mois, @Année,dbo.salaire_de_base (Id_fonctionnaire) from dbo.Fonctionnaire --indemnité1 Numéro 2 insert into table1 select Id_fonctionnaire,2, @Mois, @Année,dbo.Iindemnité1(Id_fonctionnaire) from dbo.Fonctionnaire where dbo.Iindemnité1(Id_fonctionnaire) <>0 end
Voici la classe FCalcul_paie
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
30 Public Class FrmCalcul_paie Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try Dim dts As New VCalcul_paie Dim func As New FCalcul_paie dts.gMois = Cbomois.SelectedValue dts.gAnnée = Cboannée.SelectedValue If func.Calcul_paie(dts) Then MsgBox("Paie Calculée", MessageBoxButtons.OK) Else MsgBox("Erreur Inconnue") End If Catch ex As Exception MsgBox(ex.Message) End Try End Sub End Class
Donc comment faire pour résoudre ce problème ?
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
30
31 Imports System.Data.SqlClient Public Class FCalcul_paie Inherits Connexion Dim cmd As New SqlCommand Public Function Calcul_paie(ByVal dts As VCalcul_paie) Try connecté() cmd = New SqlCommand("Calcul_paie") cmd.CommandType = CommandType.StoredProcedure cmd.Connection = cnn cmd.Parameters.AddWithValue("@Mois", dts.gMois) cmd.Parameters.AddWithValue("@Année", dts.gAnnée) If cmd.ExecuteNonQuery Then Return True Else Return False End If Catch ex As Exception MsgBox(ex.Message) Return False Finally déconnecté() End Try End Function End Class
Merci d'avance
Partager