Consiglio meglio utilizzare il ciclo while..wend oppur do while...loop...

domenica 23 novembre 2008 - 17.51

trinity Profilo | Guru

ho scritto questa funzione..ho sempre utilizzato il coclo while...wend, in quanto se non erro non c'è nessuna differenza tra il ciclo while ....wend e do while...loop.
Public Function CaricaRecAll(ByVal ObjC59 As PropertyC59) As C59Collection Dim C59Coll As New C59Collection SqlCmd.CommandText = "GetC59" SqlCmd.Parameters.Add("@CodAlbergo", SqlDbType.Int).Value = ObjC59.CodAlbergo SqlCmd.Parameters.Add("@CodComAlb", SqlDbType.Int).Value = ObjC59.CodiceComAlbergo SqlCmd.Parameters.Add("@DallaData", SqlDbType.DateTime).Value = ObjC59.DallaData SqlCmd.Parameters.Add("@AllaData", SqlDbType.DateTime).Value = ObjC59.AllaData Try SqlCmd.Connection = Db SqlCmd.CommandType = CommandType.StoredProcedure SqlDr = SqlCmd.ExecuteReader While SqlDr.Read ObjC59 = New PropertyC59 ObjC59.CodAlbergo = SqlDr.GetSqlInt32(0).Value ObjC59.CodiceComAlbergo = SqlDr.GetSqlInt32(1).Value 'ObjC59.NumeroSchedina = SqlDr.GetSqlInt3(2).Value ObjC59.Annogestionale = SqlDr.GetSqlInt32(3).Value ObjC59.DataElaborazione = SqlDr.GetSqlDateTime(4).Value ObjC59.Tipostato = SqlDr.GetSqlString(5).Value ObjC59.NumeroComponenti = SqlDr.GetSqlInt32(6).Value ObjC59.StatoResidenza = SqlDr.GetSqlString(7).Value ObjC59.CodStato_Res = SqlDr.GetSqlInt32(8).Value ObjC59.ComuneResidenza = SqlDr.GetSqlString(9).Value ObjC59.ProvinciaResidenza = SqlDr.GetSqlString(10).Value ObjC59.CodComune = SqlDr.GetSqlInt32(11).Value C59Coll.Add(ObjC59) End While Catch ex As Exception Throw ex Finally SqlDr.Close() SqlCmd.Parameters.Clear() SqlCmd.Dispose() End Try Return C59Coll End Function

ma la mia domanda è la seguente nel mio caso che ciclo utilizzareste? Ovviamente uno che prima deve controllare se il valore booleano venga soddisfatto..

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

R3GM4ST3R Profilo | Junior Member

Ciao!
A mio avviso va bene così!
CMQ La differenza tra
while condizione do
e
do while condizione

è che nella seconda ipotesi un giro del ciclo lo deve fare comunque e solo alla fine del primo giro verifica se la condizione è vera o no, mentre nel primo caso, verifica che la condizione sia verificata, in caso positivo entra nel ciclo vero e proprio

P.S. In questo caso va bene questo, perchè se tenti di leggere da un datareader nullo o vuoto il primo giro del ciclo genererà errore, quindi prima "controlli" se puoi leggere qualcosa dal datareader e quando ti sei assicurato che puoi leggere fai qualcosa...

Ciauz
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