Torna al Thread
Try
Dim min As Integer
Dim numeratore, denominatore, completato As Double
svuotatext()
list.Items.Clear()
Dim itm As ListViewItem
Dim db_name As String = Application.ExecutablePath
db_name = db_name.Substring(0, db_name.LastIndexOf("\") + 1)
If db_name.EndsWith("\bin\") Then
db_name = db_name.Substring(0, db_name.Length - 4)
End If
db_name &= "\database\database.mdb"
' Build the database connect string.
Dim Str1 As New String("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=""" & db_name & """")
Conn.ConnectionString = Str1
Conn.Open()
' Open the connection.
' Make a SELECT Command.
Dim cmd As New OleDb.OleDbCommand( _
query, Conn)
' Execute the query.
Dim db_reader As OleDbDataReader = _
cmd.ExecuteReader(CommandBehavior.Default)
'Carica La lista
Dim i As Integer
Dim barra As New Form2
barra.Show()
Do While db_reader.Read
'carico la barra di progressione
'dato che ho ordinato per numero divx desc il primo
'valore è il numerodivx + grande
barra.ProgBarra.Maximum = db_reader(0)
itm = New ListViewItem
itm.Text = db_reader(0)
'Scorre i recordset
For i = 1 To db_reader.FieldCount - 1
barra.ProgBarra.Step = 1
barra.lblCompleted.Text = Math.Round(completato).ToString() + "%"
'controlla se il valore è nullo
If db_reader.IsDBNull(i) Then
itm.SubItems.Add("")
'scrive il valore nelle colonne successive
Else
itm.SubItems.Add(db_reader.GetValue(i))
End If
Next
'caricamento effettivo della listview
ListView1.Items.Add(itm)
'progressione barra di stato
barra.ProgBarra.PerformStep()
min = barra.ProgBarra.Minimum
numeratore = barra.ProgBarra.Value - min
denominatore = barra.ProgBarra.Maximum - min
completato = numeratore / denominatore * 100
'barra.Refresh()
barra.Label2.Refresh()
barra.lblCompleted.Refresh()
Loop
barra.Hide()
Conn.Close()
db_reader.Close()
BarraDiStato()
'On Error Resume Next
Dim indice As Integer = 0
indice = ListView1.Items(0).Index()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try