Bonjour,
Je vous écris aujourd'hui pour un autre problème dont je ne trouve pas la solution.
J'ai un simple projet visual basic.net basé sur framework 4 pour garder une compatibilité avec windows XP pour l'instant encore présent chez certain de mes clients.
Le projet gèrera une petite base access toute simple.
Actuellement je travail autour de la table PSL.
J'ai déjà une fonction GetPSL qui fonctionne impec, et me retourne le / les enregistrement présent dans la base.
J'ai aussi coder une fonction Erase PSL (vide la table entière) qui elle ne fonctionne pas.
Elle s’exécute correctement, mais ne fait pas ce qu'elle est sensé faire.
Voici le code de ma fonction :
Je suis débutant en la matière, mais de plus en plus intéressé.
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 Public Function PI_ErasePsl() As Integer Try PI_DBConnect() Dim q As String = "DELETE FROM PSL" Dim cmd As New OleDb.OleDbCommand(q, PI_DB_connection) Dim ret As Integer = cmd.ExecuteNonQuery() MsgBox(ret) PI_DBDisconnect() Return ret Catch ex As Exception MsgBox("erreur : " & ex.Message) Return 1 End Try End Function
Je ne sais pas si c'est juste, mais il me semble que ExecuteNonQuery() est une méthode ? qui retourne soit -1 en cas d'erreur, soit une valeur positive dépendant du nombre de row affecté.
J'ai trouvé ces informations ici : https://msdn.microsoft.com/fr-fr/lib...vs.110%29.aspx
le messagebox de ma fonction servant au débug me retourne 1 (j'ai un enregistrement de test dans ma base).
J'ai aussi un autre soucis mineure, je souhaiterais protéger par mot de passe ma base.
Ce n'est pas le coté access qui me pose problème, je pense que c'est simple. Le soucis ce pose du coté code / connexion. J'ose imaginé que elle est peut être déjà posé ailleurs, mais je ne force personne à répondre concernant ce sujet.
Voici le code de ma fonction de connexion à la base :
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 Public Function PI_DBConnect() As Boolean Dim funcode As String = "PI.4000.0001.0000" Try 'build a connection string PI_DB_connection = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; " & "Data source=PI_4000.accdb;") 'open the connection PI_DB_connection.Open() Return False Catch ex As Exception MsgBox("Database Error 1:" & ex.Message, vbCritical, "Attention") PI_AddConsoleItem("Database Error 1", "", "") End Return True End Try End Function En espérant une réponse de la part d'un membre de ce forum, je vous remercie d'avance de votre futur réponse.
Partager