Il problema, a mio avviso, non risiede tanto nel tipo di oggetto che utilizza quanto nel contenuto della query in se.
MI spiego meglio.
Anzichè scrivere
codice:
mySqlDataAdapter1 = new OleDbDataAdapter("SELECT id,titolo,sottotitolo,descrizione,last_minute,datainizio,datafine,prezzo,prezzoscontato,'http://www.vacanze.it/images/ImmaginiProposte/' + immagine AS nomefileimmagine, '/dettaglio_proposte.asp?Id_Proposta=' + convert(nvarchar(20),id) As crealink FROM Proposte WHERE DataFine>=CONVERT(DateTime,'" & System.DateTime.Now.toString("yyyy/MM/dd") & "',111) ORDER BY Id Desc", myConnection)
spacchetta l'istruzione in questa maniera
codice:
dim cQuery as String = ""
cQuery = ("SELECT id,titolo,sottotitolo,descrizione,last_minute,datainizio,datafine,prezzo,prezzoscontato,'http://www.vacanze.it/images/ImmaginiProposte/' + immagine AS nomefileimmagine, '/dettaglio_proposte.asp?Id_Proposta=' + convert(nvarchar(20),id) As crealink FROM Proposte WHERE DataFine>=CONVERT(DateTime,'" & System.DateTime.Now.toString("yyyy/MM/dd") & "',111) ORDER BY Id Desc"
mySqlDataAdapter1 = new OleDbDataAdapter(cQuery, myConnection)
metti un breakpoint e vedi effettivamente che cosa è contenuto nella query. Temo che il problema possa essere in questa istruzione qui System.DateTime.Now.toString("yyyy/MM/dd") che magari è poco gradita a sqlserver.
Visto che stai lavorando molto lato server (in maniera corretta a mio avviso), potresti provare a scrivere
codice:
CONVERT(DateTime,getdate(),111)
Ti prenderà comunque in considerazione la data attuale.
Facci sapere!