Originariamente inviato da Debiru
Guarda, ti dico solo che era una sola tabella con la bellezza di 465.000 record e rotti, ora un 16bit non ce la faceva, un 32 andava bene, ma io volevo provare a fare un'applicazione con un margine ancor più alto... tutto quì
Secondo me, hai fatto un ragionamento sbagliato sugli errori che hai ottenuto.

Il fatto che non venga usato un Int16 non significa necessariamente che il tipo di dato cambi a seconda del numero restituito come conteggio dei record.

Hai risolto il problema, ma a mio avviso hai inserito codice sostanzialmente inutile poiché, se è vero che il conteggio restituito è sempre e comunque un valore Int32, non ha senso gestire diversi tipi di dati: è sufficiente usare appunto il tipo Int32 esplicitamente e l'operazione va sempre a buon fine.

In sostanza, quando la query ti restituisce il conteggio di record, restituisce un valore Int32 e come tale va reperito il dato dal "result set" ottenuto.

Poi, onestamente, non so quale margine più alto vuoi arrivare a trattare visto che un Int32 può contarti fino ad un massimale di oltre 2 miliardi, una quantità di record che non penso arriverai a trattare comunque.

Ciao!