17 messaggi dal 11 novembre 2014
Cioè prima di DT.rows[0]["qualifica "].tostring inserisco: if(reader[qualifica]!=DBNULL.valute)

È corretto?
Si, lo scrivi per ogni campo
in generale puoi farti una classe che ti controlla l'object del datareader e lo rende strong typed a seconda del tipo di dato.
In alternativa si usano gli ORM (Nhibernate, Entity framework) che evitano proprio questi controlli.

Occorre capire cosa è null. Puoi usare un debug? Stai usando Visual Studio?
Modificato da manuel0081 il 03 dicembre 2015 14.59 -

Ormai programmano tutti... ma la professionalità appartiene a pochi
Intanto racchiudi il codice dopo
DataTable dt = ManagerUser.GetAllUser

in
if (dt != null && dt.Rows.Count > 0)
{
}

se continua a dare errore vai in debug, aggiorna la pagina e vedi dove crea il problema

Comunque il discorso precedente rimane valido
Modificato da manuel0081 il 03 dicembre 2015 14.59 -

Ormai programmano tutti... ma la professionalità appartiene a pochi
17 messaggi dal 11 novembre 2014
ciao, scusami ma ieri non sono riuscito piu' a connettermi, tu dici quindi di mettere dopo :

DataTable dt = ManagerUser.GetAllUser(id, txtcognome.Text, txtnome.Text, txtmatricola.Text, txtmercantile.Text, ddlqualifica.SelectedValue, "", "", "", "", "", "", "", "", "", (Session["tipodpi"].ToString().Equals("1") ? "1" : ""), "", (Session["tipodpi"].ToString().Equals("2") ? "1" : ""), (Session["tipodpi"].ToString().Equals("3") ? "1" : ""),"","", "cognome", "asc");

if (dt != null && dt.Rows.Count > 0)
{
}

e dentro le parentesi metto:

lblaualificavalore.Text = dt.Rows[0]["qualifica"].ToString();
lblsezionevalore.Text = dt.Rows[0]["sezione"].ToString();
Translate tt = new Translate();
griglia.Columns[0].HeaderText = tt.TranslateTXT("//Resource/item[@name='cnome']");
griglia.Columns[1].HeaderText = tt.TranslateTXT("//Resource/item[@name='misura']");
griglia.Columns[2].HeaderText = tt.TranslateTXT("//Resource/item[@name='partecorpo']");
griglia.Columns[3].HeaderText = tt.TranslateTXT("//Resource/item[@name='quantita']");
griglia.Columns[4].HeaderText = tt.TranslateTXT("//Resource/item[@name='dataconsegna']");
griglia.Columns[5].HeaderText = tt.TranslateTXT("//Resource/item[@name='datascadenza']");
griglia.Columns[6].HeaderText = tt.TranslateTXT("//Resource/item[@name='destinatari']");
griglia.DataSource = ManagerDPI.getDPISpettanti(dt.Rows[0]["sezione"].ToString(), dt.Rows[0]["qualifica"].ToString(),Session["tipodpi"].ToString());
griglia.DataBind();
Come prima soluzione si,
in modo che dt.Rows[0] non esploda in caso di assenza di righe.
Se hai ancora l'errore usa il debug.
Modificato da manuel0081 il 07 dicembre 2015 17.22 -

Ormai programmano tutti... ma la professionalità appartiene a pochi

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.