Problema : arraylist+query sql + funzione di somma..

sabato 17 novembre 2007 - 11.55

donatokolas Profilo | Junior Member

Salve a tutti!

Devo inserire in un form un metodo che faccia la sommatoria (rif. funzione somma) di alcuni valori.

Tali valori devono essere presi da una tabella di un database access (rif. query sql) e precisamente sono contenuti in delle celle appartenenti ad una riga nella quale il contenuto della cella "x" (diversa dalle celle in cui sono contenuti i valori) deve corrispondere al contenuto di un elemento di un'arraylist (rif. arraylist).
Io ho realizzato il tutto in questo modo :
private int sumMaggiorazioniFisse(ArrayList p)
{
int pr_perc, pr_ml, pr_mq;
int pr_perc_def, pr_ml_def, pr_mq_def,pr;
int somma_parziale=0;

m_cnADONewConnection2.ConnectionString =
@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Temp\Listini.mdb";
for (int i = 1; i < maggiorazioni_fisse.Count; i++)
{
OleDbCommand commandDB3 = new OleDbCommand(
"Select * from Maggiorazioni where (titolo='" + maggiorazioni_fisse[i] + "')", m_cnADONewConnection2);
m_cnADONewConnection2.Open();
OleDbDataReader dataReaderDBr = commandDB3.ExecuteReader();
while (dataReaderDBr.Read())
{
pr = dataReaderDBr.GetInt32(dataReaderDBr.GetOrdinal("prezzo"));
pr_perc = dataReaderDBr.GetInt32(dataReaderDBr.GetOrdinal("perc"));
pr_perc_def = (prezzo_unitario*pr_perc) / 100;
pr_ml_def = (dataReaderDBr.GetInt32(dataReaderDBr.GetOrdinal("pr/ml"))) * ((this.l + this.h) * 2);
pr_mq_def = (dataReaderDBr.GetInt32(dataReaderDBr.GetOrdinal("pr/mq"))) * (l * h);
somma_parziale += pr_mq_def + pr_ml_def + pr_perc_def;

}

m_cnADONewConnection2.Close();
}

return somma_parziale;
}

Ma tale funzione mi restituisce sempre valore 0 nonostante il campo "prezzo" della tabella in questione sia diverso da zero mentre i campi : "perc","pr/ml",e "pr/mq" sono uguali a zero.
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