Automatisation de la suppression d'une ligne sur une table en fonction d'une Date
Bonjour à tous, c'est la premiere fois que je poste sur ce forum et j'espère que vous pourrez me donner mes indication sur mon problème.
Comme le dit mon titre je cherche à supprimer toutes mes lignes "périmés" sur un planning.
Mon code est le suivant
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Dim Connexion = GestionConnection.nouvelleConnection()
Dim thisDay As DateTime = DateTime.Today
Dim finSuppression As Boolean = True
Connexion.Open()
Do
Dim RequetteSelectionMinimum = "SELECT MIN(fin_indisponibilite) FROM affectation_materiel"
Dim CommandeSelectionMinimum As New NpgsqlCommand(RequetteSelectionMinimum, Connexion)
MsgBox(CDate(CommandeSelectionMinimum.ExecuteScalar()).ToString("d"))
If CDate(CommandeSelectionMinimum.ExecuteScalar()) < thisDay.ToString("d") Then
MsgBox(thisDay.ToString("d"))
Supress.supressAssociation(Connexion, CommandeSelectionMinimum.ExecuteScalar())
Else
finSuppression = False
End If
Loop While finSuppression |
Les 2 Msg box donnent les résultats attendus.
Et d'autre part :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Public Shared Sub supressAssociation(ByVal Connexion As NpgsqlConnection, ByVal uneDate As Date)
Try
Dim Requete As String = "DELETE FROM affectation_materiel WHERE fin_indisponibilite=" & Format(uneDate, "dd/mm/yyyy").ToString()
Dim Commande As New NpgsqlCommand(Requete, Connexion)
Try
Commande.ExecuteNonQuery()
Catch ex As Exception
Console.WriteLine("Echec de la suppression à la Base de donnée")
Console.WriteLine(ex.Message)
End Try
Commande.Dispose()
Catch ex As Exception
Console.WriteLine("Echec de la connection à la base de donnée")
End Try
End Sub |
Et là :
Une exception de première chance de type 'Npgsql.NpgsqlException' s'est produite dans Npgsql.dll
Echec de la suppression à la Base de donnée
ERREUR: 42883: l'opérateur n'existe pas : date = integer
Je suis sur que c'est une erreur bête mais je me creuse la tête depuis des heures, Merci d'avance.