Dans mon application .NET, je dois gérer les réservations pour les salles. J'entre la réservation de salle par l'intermédiaire d'une requête SQL à une base de données MS Access en utilisant une instruction INSERT INTO. Avant d'insérer la réservation, je dois vérifier si une réservation existe déjà pour cette période et si elle empêche l'utilisateur de réserver à ce moment-là. J'ai écrit un code pour récupérer un résultat de base de données le jour et l'heure de la réservation qu'ils veulent réserver, et le fait qu'Access renverrait des données signifierait que l'utilisateur essaie de réserver sur quelqu'un d'autre.Vérification du résultat de la base de données MS Access (VB.NET)
Mais je suis coincé sur la façon dont je peux vérifier si j'ai un resuklt retourné. Mon code:
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\Database\database.mdb;")
cn.Open()
cmd = New OleDbCommand("SELECT * FROM(" & roomvar.ToLower() & ") WHERE (((" & roomvar.ToLower() & ".date)=" & Chr(34) & dtpDate.Value.Date & Chr(34) & "))", cn)
dr = cmd.ExecuteReader
If dr.HasRows = True Then
MsgBox("There is an existing booking")
End If
dr.Close()
Mais cela ne fonctionne pas, il affiche le messagebox quel que soit le cas il y a une ligne retournée ou non. Comment puis-je vérifier si une ligne a été renvoyée?
Merci.