Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Ogetto Caledar e Databse

    Ciao a tutti,

    il mio prb è il seguente:
    vorrei che cliccando su un giorno dell'oggetto calendar, venga fatta una query al e vedere se esistono degli eventi per quel giorno e per i giorni successivi del mese.

    Ho fatto in questo modo:

    ----------------------------------------------------------
    Private Sub Calendar1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calendar1.SelectionChanged
    'Dichiaro le mie variabili
    Dim strData As String
    Dim mese As String
    Dim cmd As OleDbCommand
    Dim dr As OleDbDataReader
    Dim query As String
    'Salvo la data selezionata nel calendario e la trasformo in una stringa
    strData = Calendar1.SelectedDate.ToShortDateString
    'Imposto il limite del mese per effettuare la query
    mese = "31/" + Calendar1.SelectedDate.Month.ToString + "/" +
    Calendar1.SelectedDate.Year.ToString
    'Ora imposto la query che sarà eseguita nel database
    query = "Select Cod_Incontro, Data, Descrizione From incontro WHERE Data BETWEEN " & strData & " AND " & mese
    'apro la connessione
    OleDbConnection1.Open()
    'Eseguo la query
    cmd = New OleDbCommand(query, OleDbConnection1)
    dr = cmd.ExecuteReader
    'Se il dataReader contiene qualcosa allora scrivila in una label presente sulla form
    If (dr.Read()) Then
    While (dr.Read())
    lblIncontri.Text += dr("Data") & "
    " & dr("Descrizione") & "

    "
    End While

    'Altrimenti scrivi che non ci sono appuntamenti
    Else
    lblIncontri.Text = "Non ci sono incontri programmati per i prossimi giorni"
    End If
    'chiudi il datareader
    dr.Close()
    'chiudi la connesssione
    OleDbConnection1.Close()
    End Sub
    -----------------------------------------------------------
    Purtroppo il datareader risulta sempre vuoto e mi stampa sempre il messaggio che non ci sono incontri.
    Se imposto la query manualmente, nel senso che imposto un giorno direttamente da codice e non lo vado a prendere dinamicamente funziona.

    Spero sinceramente che qualcuno possa aiutarmi!

  2. #2

    Aiuto

    Rispondete x favore

  3. #3
    Utente di HTML.it L'avatar di geko
    Registrato dal
    Dec 2004
    Messaggi
    104
    Può essere un problema di formattazione della data (stai usando SQL Server?). Intanto prova a stampare la query che mandi in esecuzione e lanciala manualmente per capire cosa ti restituisce.
    Hai cmq altre possibilità per ottenere quello che vuoi, usando una Stored Procedure e passandogli la data come parametro SMALLDATE, oppure cambiando la query con qualcosa del tipo:

    codice:
    Select Cod_Incontro, Data, Descrizione 
    From incontro 
    WHERE MONTH(data) = <mesCorrente> 
    AND YEAR(data) = <annoCorrente> 
    AND DAY(data) >= <giornoCorrente>
    e usando solo i valori interi.
    Spero di esserti stato utile

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.