Salve a tutti.
Dopo aver risolto il precedente problema della select ora tanto per cambiare ne ho un altro XD
quando seleziono una data dal calendario eseguo una select per controllare se ci sono già dei promemoria per quella data, e se si elencarli in una listbox.
Ho notato che mi succede una cosa strana: il primo risultato viene scritto due volte, mentre l'ultimo viene perso.. se ad esempio per la data del 2 agosto ho i promemoria
test
test2
test3
nella listbox mi stampa le righe in questo modo
test
test
test2
prima di ogni riempimento azzero la textbox.
Eccovi un pò di codice
codice:
Public Sub Controlla_Data(ByVal selectedDate As Date)
Dim controlla As Odbc.OdbcCommand
Dim List As Odbc.OdbcDataReader
Dim SQL As String = "select message from promemoria where data = '" + DataOnly(selectedDate).ToString + "'"
controlla = New Odbc.OdbcCommand(SQL, Conn)
Conn.Open() 'Conn è dichiarato globale
List = controlla.ExecuteReader()
If List.HasRows Then
Label3.Text = "Numero promemoria per il giorno selezionato : " + List.RecordsAffected.ToString
ListBox1.Items.Clear()
For i = 1 To List.RecordsAffected
ListBox1.Items.Add(List.GetValue(0).ToString())
List.Read()
Next
Else
ListBox1.Items.Clear()
Label3.Text = "Nessun promemoria presente per il giorno selezionato"
End If
List.Close()
Conn.Close()
End Sub
DataOnly è una semplice funzioncina per formattare la data per usarla comodamente con postgres, se vi serve.. (non penso XD)
codice:
Public Function DataOnly(ByVal Data As String) As String
Return Format(DateTime.Parse(Data), "dd/MM/yyyy")
End Function
debuggando passo passo non mi sembra che ci siano dei problemi. sembra quasi che mi salti una read().
Spero che il problema sia di facile soluzione, almeno per voi
Grazie in anticipo. Cordiali saluti