J'ai une table qui a deux colonnes de temps. L'un est un temps de connexion, l'heure de déconnexion. Je voudrais pouvoir filtrer entre les deux, fondamentalement plus grand que le minimum choisi et moins que le maximum choisi. J'utilise un calendrier mensuel pour me donner le temps mais ça ne fonctionne pas correctement. De là, je voudrais ajouter les 4 colonnes de la table à un gridview. La date de la DB est le format suivant:Filtrage SQL par intervalles de temps corrects dans vb.net
2/23/2010 11:17:01 AM
Je sais comment obtenir des éléments individuels de la table, ou une colonne, mais les lignes non entières.
Donc je suppose que j'ai 2 problèmes, obtenir le filtre pour le SQL correct puis lier les résultats à une table.
Voici mon code à ce jour:
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim str As String
Dim dr As OleDbDataReader
Dim date1 As Date
Dim date2 As Date
If (Not SubmitNewToDB(session)) Then
MsgBox("error")
End If
Try
cn = New OleDbConnection("Provider=microsoft.Jet.OLEDB.4.0;Data Source=G:\Sean\BMSBonder3_0.mdb;")
cn.Open()
str = "Select BonderIdentifier, UserName, Login, Logout From [Session] Where (Login < " & MonthCalendar1.SelectionEnd _
& " AND Logout > " & MonthCalendar1.SelectionStart & ") AND BonderIdentifier = " & session.bonderIdentifier
cmd = New OleDbCommand(str, cn)
dr = cmd.ExecuteReader
While dr.Read()
If dr.Item(0).ToString <> "" Then
DataGridView1.Rows.Add(dr.Item(0))
End If
End While
dr.Close()
cn.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
EDIT
SLaks a répondu à la plupart de ma question, un problème demeure. J'ai besoin de comprendre comment faire pour que le calendrier du mois puisse sélectionner seulement un jour et retourner les valeurs de ce jour. On dirait que le temps est un problème car il est dans la base de données comme indiqué ci-dessus. Il ne suffit pas de comparer les dates.
Vous ne savez pas comment régler la date pour inclure l'heure.
besoins OleDb commandés? pour les espaces réservés de paramètres plutôt que les paramètres @ nommés. –
Merci, mais mon filtre ne fonctionne toujours pas correctement. –
J'ai édité la réponse; Essayez-le maintenant. – SLaks