Bonjour

Je veux effectuer une recherche dans la table client via une liste déroulante.J'ai utilisé le code suivant:
Code vb.net : 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
Private Sub CboRechClient_SelectionChangeCommitted(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CboRechClient.SelectionChangeCommitted
        Try
            Dim sqlparamNbEnreg As SqlParameter
            Dim i As Integer
            cmdClient = New SqlCommand
            cmdClient.Connection = cnnBase
            cmdClient.CommandType = CommandType.StoredProcedure
            cmdClient.CommandText = "dbo.SelectClient1"
            'Ajout du paramètre d'entrée
            cmdClient.Parameters.AddWithValue("@paramCodeClient", CboRechClient.SelectedValue)
            'Ajout du paramètre de sortie
            sqlparamNbEnreg = New SqlParameter("@paramNbEnreg", SqlDbType.Int)
            sqlparamNbEnreg.Direction = ParameterDirection.Output
            cmdClient.Parameters.Add(sqlparamNbEnreg)
            If cnnBase.State <> ConnectionState.Open Then cnnBase.Open()
            Dim drListeClients As SqlDataReader = cmdClient.ExecuteReader
            If drListeClients.Read() Then
                For i = 0 To drListeClients.FieldCount - 1
                    Controls(IIf(i = 2, "cbo", "txt") & drListeClients.GetName(i)).Text = VNULLSTR(drListeClients.GetValue(i))
 
                Next
            End If
            drListeClients.Close()
            cmdClient = Nothing
            drListeClients = Nothing
        Catch objException As Exception
            MsgBox(objException.Message)
        End Try
    End Sub
Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Public Function VNULLSTR(ByVal strVal As Object) As String
        If IsDBNull(strVal) Then
            VNULLSTR = ""
        Else
            VNULLSTR = strVal
        End If
    End Function
Procédure SelectClient1
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
ALTER PROCEDURE [dbo].[SelectClient1]
         (@paramProvenence varchar(50) = NULL,
          @paramCodeClient integer = NULL,
          @paramNbEnreg integer out)
AS
BEGIN
SET NOCOUNT ON
          SELECT * FROM CLIENT WHERE (PROVENENCE like @paramProvenence OR
@paramProvenence is null) and (CODECLIENT = @paramCodeClient OR @paramCodeClient is null)
SELECT @paramNbEnreg = count(*) FROM CLIENT WHERE (PROVENENCE like
@paramProvenence OR @paramProvenence is null) and (CODECLIENT = @paramCodeClient OR
@paramCodeClient is null)
END
A l'exécution VB 2010 me donne le massage suivant:"Echec de conversion de la valeur varchar '*' en type de donnée int"
A quoi peut être dû ce message?
Merci de votre aide