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 SubProcédure SelectClient1
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
A l'exécution VB 2010 me donne le massage suivant:"Echec de conversion de la valeur varchar '*' en type de donnée int"
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 quoi peut être dû ce message?
Merci de votre aide
Partager