bonsoir tout le monde, alors voila je vais surement me faire charcuter en posant cette question qui a deja été abordé celle des requetes parametrées (ACCESS) mais voila j'ai bô lire les tuto et la faq mais j'arrive toujours pas a comprendre pk ça marche po
donc voila j'ai une classe:
qui gere (devrait gerer plutot) mes accés a ma base de données comme vous pouvez le voir il y'a plein de methodes ou fonctions si vous preferez qui facilitent (sont censées) faciliter la vie sauf pour executer une requete parametrée.
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 Private ADO_Cnx As ADODB.Connection 'Objet ADO Connexion Private ADO_Rs As ADODB.Recordset 'Objet ADO Recordset Private ADO_Cmd As ADODB.Command 'Objet ADO Command Private ADO_Prm As ADODB.Parameter 'Objet ADO Parameter Private STR_Ch_Cnx As String 'Chaine de connexion a la DB '---- Definition de la propriete de la chaine de connexion Public Property Let ConnexionString(ByVal ValueString As String) STR_Ch_Cnx = ValueString End Property Public Property Get ConnexionString() As String ConnexionString = STR_Ch_Cnx End Property '---- Methode pour ouvrir la Data Base Public Sub OpenCnx() Set ADO_Cnx = New ADODB.Connection With ADO_Cnx .CursorLocation = adUseClient .Open STR_Ch_Cnx End With End Sub '---- Methode de definition de la procedure stockée Public Sub Queries(ByVal Nom_Procedure_Stockee As String) Set ADO_Cmd = New ADODB.Command With ADO_Cmd .ActiveConnection = ADO_Cnx .CommandType = adCmdStoredProc .CommandText = Nom_Procedure_Stockee End With End Sub '---- Methode pour definir un parametre de la procedure stockée Public Sub DefParameter(ByVal Parameter, ByVal TypeOfValue As ADODB.DataTypeEnum) Set ADO_Prm = New ADODB.Parameter With ADO_Prm .Direction = adParamInput .Type = TypeOfValue If TypeOfValue = adChar Then .SIZE = 255 End If .Value = Parameter End With ADO_Cmd.Parameters.Append ADO_Prm End Sub '---- Methode d'execution de la requete Public Function ExecuteQueries() As Recordset Set ADO_Rs = ADO_Cmd.Execute Set ExecuteQueries = ADO_Rs End Function '---- Methode pour fermer la connexion vers la Data Base Public Sub CloseCnx() ADO_Cnx.Close End Sub
je procede ainsi apres m'etre bien sur occupé des parametres d'ouverture de connexion:
mais ça ne passe pas au compilateur qui attends un "=" apres la definition du parametre (.DefParameter())
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 With My_Obj_DB '----------objet de la classe .Queries ("connexionUser") '"connexionUser" est le nom de la procedure stockée dans la DB .DefParameter("ADMIN", adChar) '--------definition d'un 1er parametre .DefParameter("123", adChar) '-------definition d'un 2eme parametre .ExecuteQueries End With
je ne comprend pas pourquoi, merci pour toutes vos contributions
Partager