\\ Home Page : Articolo : Stampa
TableAdapter con parametri e MDB
Di Marco Tenuti (del 17/10/2007 @ 16:15:52, in web, linkato 2366 volte)

Oggi l'aiuto di Ricky di aspitalia.com è stato determinante per risolvere un problema che mi ha afflitto per qualche ora senza trovare soluzione.

La questione verteva sul come fare a specificare una query in un database Access MDB in modo che un TableAdapter definito dentro un DataSet in Visual Studio .NET 2005 fosse in grado di andare a ravanare una query specificata attraverso uno o più parametri.

Ora se il database sottostante è basato su Microsoft SQL Server 2000 o 2005, la sintassi è la seguente:

SELECT * FROM myTable WHERE (myField = @ParamValue)

Se invece il database sottostante è un volgarissimo database MDB di Access, la sintassi è ahimé diversa:

SELECT * FROM myTable WHERE (myField = ?)

La "non-definizione" esplicita del nome del parametro nel secondo caso impone dei vincoli più rigorosi sul passaggio di parametri nella relativa collezione, perché l'ordine diviene pertanto fondamentale, per evitare errori di cattivo accoppiamento tra le wild-char ? e i valori dei parametri definiti nella collezione.