Database in excel e problema lettura dati da foglio

martedì 10 maggio 2011 - 13.10

pampo Profilo | Newbie

Ciao, ho un problema con un foglio di excel usato come databse in una web form.
Tramite codice vado a leggere i dati prsenti nel foglio e li uso per riempire una gridview tramite un datareader,il problema sorge quando i dati nel foglio sono composti sia da numeri che da lettere. In quel caso quando riempio la gridview non vengono letti.
Mi sapreste aiutare?

Gluck74 Profilo | Guru

Ciao,
senza codice non possiamo aiutarti.

Ciao

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

pampo Profilo | Newbie

si hai ragione scusa,ti allego la query con cui vengono presi i dati dal foglio excel e che uso per riempire la gridview :)

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

Gluck74 Profilo | Guru

Bene, e questo dovrebbe funzionare.
Per un migliore controllo, e solo per questo, ti consigio di separare in due righe l'assegnazione del reader.
OleDbDataReader rd = myCommand.ExecuteReader(CommandBehavior.CloseConnection); GridView1.DataSource = rd;
Metti poi un breackPoint sulla prima riga e vai a vedere il contenuto di tutte le colonne di "rd".
Ora puoi vedere se i dati sono corretti.

Se qui i dati sono corretti, il problema sta allora nella grid. Posta il codice anche di quella.
Ciao

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

pampo Profilo | Newbie

no anche dal reader non risultano quei valori in cui è presente un insieme di numeri e lettere

Gluck74 Profilo | Guru

quindi l'errore è già a livello della chiamata ai dati............
mmmmmm........ mmmmmmmm.........
mumble mumble.............

prova a modificare il codice in questa maniera, utilizzando altri oggetti:
string ConnectionString = @"... ...; string CommandText = "... ..." + GridView1.SelectedRow.Cells[1].Text; using (OleDbConnection conn = new OleDbConnection(ConnectionString)) { DataTable dtExcel = new DataTable(); OleDbDataAdapter da = new OleDbDataAdapter(CommandText, conn); da.Fill(dtExcel); GridView2.DataSource = dtExcel; GridView2.DataBind(); }

Con un breackponit controlla i dati dentro la tabella dtExcel

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

pampo Profilo | Newbie

nente anche con un datatable il problema persiste,non riesco davvero a capire qualse sia il problema :P

pampo Profilo | Newbie

Fatto!
Ilproblema stava nella connectionString dove alla fine mancava la dicitura IMEX=1.
Grazie mille cmq per l'interessamento :)

Gluck74 Profilo | Guru

Sinceramente non ero a conoscenza di questo parametro.
Buono a sapersi.
Ciao e grazie

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5