ciao a tutti
sto lavorando su un db access

il campo in questione e Intero Lungo

uso queste istruzioni per recuperare il dato (q1) ma mi da errore

codice:
OleDbCommand mioComando = new OleDbCommand(sql_stringa, connessione);
connessione.Open();
OleDbDataReader d= mioComando.ExecuteReader();
long q1;
while (d.Read())
{
// recupero le proprietà
    q1=d.GetInt32(5);
}


ERRORE--> Speficic cast is not valid

qual'è il problema?????? .....a parte getint32() ho usato anche getstring getint64 ecc quasi tutte ma mi da sempre errore...
e poi .....
la variabile qi di che tipo dovrebbe essere?