>UserName è un dato testo e come tale va delimitato da singoli apici.
No, non corrisponde a verità. Si tratta di una query parametrica, il tipo è definito dal parametro definito nella collection dei parameters.
>Comunque, per spaccare il capello in quattro vai in Enterprise
>Manager e lancia SQL Analyzer e monitorizza le tracce sul server
>e catalogo in questione ed analizza la stringa SQL generata dalla
>tua interrogazione. Vedrai che da lì tutto sarà più chiaro.
Il problema è che l'esecuzione sembra dare un errore ancora prima di chiamare il comando.
Sostituisci i parametri nella query con il carattere "?", ad esempio:
SELECT
campo1, campo2
FROM
Tabella
WHERE
campo2 = ?
AND campo3 BETWEEN ? AND ?
e poi lascia la collezione dei parametri come l'hai già definita (non mettere la size per i campi data, non mettere 0, omettila).
In alternativa, se hai sql server, usa System.Data.SQLClient e non System.Data.OLEDB.
Ciao!
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org