Problemi con Db Access

venerdì 19 ottobre 2007 - 15.40

donatokolas Profilo | Junior Member

Salve a tutti
Premetto subito ke sono un principiante della programmazione in c# quindi mi scuso da subito per le domande stupide ke farò bel forum!

Cmq ho un problema: voglio salvare in una variabile di tipo string il contenuto di una cella del mio Db facendo li debug mi ritrovo con un'eccezione di tipo InvalidOperationException nessun dato esistente per la riga/colonna,nonostante quella tabella sia già popolata.
Ecco il codice :
private void Form4_Load(object sender, EventArgs e)
{

{
m_cnADONewConnection.ConnectionString =
@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Temp\Sotek.mdb";
OleDbCommand commandDB = new OleDbCommand("select * from Clienti",
m_cnADONewConnection);
m_cnADONewConnection.Open();
OleDbDataReader dataReaderDB = commandDB.ExecuteReader();
string co_fiscale = dataReaderDB.GetString(dataReaderDB.GetOrdinal("CF"));
}


}
}
dov'è l'errore?

amelix Profilo | Expert

Nel momento in cui tenti di leggere il puntatore si trova "prima" dei dati...
Fai un .Read() e vedrai che funziona.
> if(dataReaderDB.Read())
> string co_fiscale = dataReaderDB.GetString(dataReaderDB.GetOrdinal("CF"));

Andrea - http://www.MelisWeb.eu/

alx_81 Profilo | Guru

>Salve a tutti
Ciao!
>Premetto subito ke sono un principiante della programmazione
>in c# quindi mi scuso da subito per le domande stupide ke farò
>bel forum!
grazie mille!
>
>Cmq ho un problema: voglio salvare in una variabile di tipo string
>il contenuto di una cella del mio Db facendo li debug mi ritrovo
>con un'eccezione di tipo InvalidOperationException nessun dato
>esistente per la riga/colonna,nonostante quella tabella sia già
>popolata.

Qui di seguito il codice che dovrebbe funzionare (non sono riuscito a provarlo per bene).
Ho spostato la Open della connessione prima di passarla al command di modo che gli passi la connessione aperta.
Inoltre ho aggiunto la chiamata al metodo Read() del datareader, così leggi partendo dalla prima riga (se non fai read il puntatore alle righe non si sposta sulla prima).

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

facci sapere
Alx81 =)

http://blogs.dotnethell.it/suxstellino

donatokolas Profilo | Junior Member

Grazie mille a tutti...funziona tutto
siete mitici
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5