Salve a tutti.
Ho un database su Postgres e ci accedo tramite ado.net da un programma scritto in vb.net.
Il programma in pratica è un calendario per gestire dei promemoria, che vengono salvati su di un database. All'avvio con una select volevo mettere in grassetto tutte le date sulle quali è presente almeno un promemoria. L'oggetto DateTimePicker non andava bene, quindi ne sto usando un altro che supporta il grassetto (non mi ricordo il nome..).
Andiamo al dunque....
l'oggetto Odbc.OdbcConnection è globale, lo inizializzo nel load del form principale, per poi utilizzarlo in seguito.
La connessione avviene regolarmente perchè l'inserimento dei dati funziona
codice:
Private Sub NEWBUTTON_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NEWBUTTON.Click
Dim selectedDate As Date = calendar.SelectionRange.Start
Dim SQL As String
SQL = "insert into promemoria (data,message,ora) values ('"
SQL += selectedDate + "'"
SQL += ",'" + MESSAGE.Text + "'"
SQL += ",'" + H.Text + ":" + M.Text + ":00" + "')"
'SQL string tested with postgres
Dim insert As Odbc.OdbcCommand
insert = New Odbc.OdbcCommand()
insert.Connection = Conn
Conn.Open()
insert.CommandText = SQL
If insert.ExecuteNonQuery() = 1 Then
calendar.AddBoldedDate(selectedDate)
calendar.Refresh()
MessageBox.Show("inserimento riuscito", "SUCCESS", MessageBoxButtons.OK)
End If
Conn.Close()
End Sub
Il problema ce l'ho quando devo fare una select, con dei dati in output.
la sinassi è pressochè la stessa, a parte il fatto che utilizzo executereader e non execute normale.
eccovi il codice
codice:
Private Sub calendar_DateChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DateRangeEventArgs) Handles calendar.DateChanged
Dim SQL As String = "select data from promemoria"
Dim selectedDate As Date = calendar.SelectionRange.Start
Dim conta As Odbc.OdbcCommand
Dim read As Odbc.OdbcDataReader
conta = New Odbc.OdbcCommand(SQL, Conn)
Conn.Open()
read = conta.ExecuteReader()
Dim s As Object = read(0).ToString
calendar.AddBoldedDate(s)
read.Close()
Conn.Close()
End Sub
ho provato a spostare la chiusura del reader e della connessione, ad utilizzare item(i) per accedere ai dati ed altro, ma il risultato è sempre lo stesso: solito errore che afferma che non esiste alcun oggetto per la riga/colonna

Datemi una mano che è da un pò che ci batto la testa
Grazie in anticipo. Cordiali saluti