Datatable che non va

venerdì 26 dicembre 2008 - 08.54

TaiChi Profilo | Junior Member

Salve a tutti, quelli che sono collegati anche oggi....

ho pasticciato un pò con un metodo che avevo già scritto per recuperare una lista di valori da una tabella per adattarlo ad un dataset tipizzato che ho aggiunto al progetto e adesso non va più nel senso che non recupera i valori e la lista della combo è vuota.

Se mi promettete di non fare facce strane , del tipo ma questo che fa... vi faccio vedere cosa ho combinato e, se avete voglia mi aiutate a capire perchè non va...

string sql = "SELECT Nome ||' '|| Cognome AS Nominativo FROM Proclamatori";
conn = new SQLiteConnection(connString);
SQLiteDataAdapter dataAdapter = new SQLiteDataAdapter(sql, conn);
try
{
GestioneCalamitaDataSet dsGestione = new GestioneCalamitaDataSet();
//DataSet dsetGdS = new DataSet();
conn.Open();
dataAdapter.Fill(dsGestione.Tables["Proclamatori"]);
DataRowCollection dataRowCol = dsGestione.Tables["Proclamatori"].Rows;
foreach (DataRow dr in dataRowCol)
{
cmbCerca.Items.Add(dr["IDProclamatore"]);
{
{
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}


Alessio Forconi

alx_81 Profilo | Guru

>Salve a tutti, quelli che sono collegati anche oggi....
Ciao!

>Se mi promettete di non fare facce strane , del tipo ma questo
>che fa... vi faccio vedere cosa ho combinato e, se avete voglia
>mi aiutate a capire perchè non va...
Cosa intendi per lista vuota? In realtà vedi una lista di valori a blank? Oppure sei sicuro che il DataTable abbia righe? Hai provato a fare debug o a visualizzare il numero di righe di quel datatable?

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

TaiChi Profilo | Junior Member

>Cosa intendi per lista vuota? In realtà vedi una lista di valori
>a blank? Oppure sei sicuro che il DataTable abbia righe? Hai
>provato a fare debug o a visualizzare il numero di righe di quel
>datatable?
>
>--
>
>Alessandro Alpi | SQL Server MVP
-intendo che nella combo non appare nessun valore ma nella tabella ce ne sono, oggi non ho tempo ma domani proverò a fare un debug più approfondito.

Il problema però è che non conoscendo niente o quasi di ADO.NET non so bene dove andare a parare in casi come questo, dove potrebbe essere il problema? Quale potrebbe essere la causa?

Grazie

Alessio Forconi

alx_81 Profilo | Guru

>Il problema però è che non conoscendo niente o quasi di ADO.NET non so bene dove andare a parare in casi come questo, dove potrebbe
>essere il problema? Quale potrebbe essere la causa?
Sinceramente nel tuo codice non vedo errori.. userei altri costrutti come la Using, ma solo per seguire di più l'utilizzo di codice del 2.0..
Magari eviterei l'utilizzo di una datarowcollection usando direttamente la collezione rows..
Se dici che non va nella catch, dovrebbe funzionare..
In caso contrario possono esserci tante cose, il ds tipizzato che non sta leggendo correttamente i dati, il datatable proclamatori che non esiste, ecc..

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

TaiChi Profilo | Junior Member

Dunque Alessandro ho provato a fare qualche verifica con la messagebox ed esce questo errore "Impossibile attivare i vincoli. Una o più righe contengono valori che violano il vincolo non-null, unique o foreign-key." che però non capisco bene; infatti la tabella è una sola, tutte le tabelle nel db non hanno relazioni tra loro, e tutti i record hanno un ID univoco.

Hai/avete qualche suggerimnto?

Grazie

Alessio Forconi

alx_81 Profilo | Guru

>Dunque Alessandro ho provato a fare qualche verifica con la messagebox
>ed esce questo errore "Impossibile attivare i vincoli. Una o
>più righe contengono valori che violano il vincolo non-null,
>unique o foreign-key." che però non capisco bene;
Sulla select?? ottieni quell'errore lanciando una SELECT?
guarda, io ho trovato questo, che magari può esserti utile:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=11087

>infatti la tabella è una sola, tutte le tabelle nel db non hanno relazioni
>tra loro, e tutti i record hanno un ID univoco.
Male.. le relazioni non sono una cosa da evitare eh
Comunque secondo me il problema sta nel dataset. Nel senso che se usi quello autogenerato è probabile che Visual Studio ti generi dataset tipizzati con anche relazioni al suo interno. Prova ad usare ADO.Net senza i dataset tipizzati, eseguendo semplicemente la tua query con un executereader del command e assegnando il datareader risultante come datasource del combo..

>Grazie
di nulla!
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
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