Подобно тому, который я реализовал, это довольно просто.
- 1. Поместите индикатор выполнения где-нибудь на форме.
- над циклом for добавьте количество строк в вашей базе данных, чтобы что-то вроде
datatable.rows.count
или аналогичное - примените его к переменной, а затем напишите
ProgressBar1.Maximum = datatablerowcount
- Установите размершага к 1 на вашем индикаторе прогресса
ProgressBar1.Step = 1
- Затем просто добавьте непосредственно перед вашим
end while
добавлением этого ProgressBar1.PerformStep()
Что этов основном это так, устанавливает полное значение индикатора выполнения равным количеству элементов, которые вы должны прочитать, а затем приближается на 1 шаг к максимальному значению при каждом чтении строки.
edit
Dim row_count As Integer = datatable.Rows.Count '(or however you can)
ProgressBar1.Maximum = row_count
ProgressBar1.Step = 1
If reader.HasRows Then
While reader.Read()
DataTableName = TextBox1.Text
ID1 = reader.Item("MotorSN").ToString
ID2 = reader.Item("StationNo").ToString
ID3 = reader.Item("WU_NestNo").ToString
ID4 = reader.Item("PT_TimeIn").ToString
ID5 = reader.Item("PT_NestNo").ToString
ID6 = reader.Item("PT_Q_Std_Bellmouth_0").ToString
ID7 = ""
ID8 = ""
ID9 = ""
ID10 = ""
ID11 = ""
ID12 = ""
Note1 = ""
Note2 = ""
sDate = ""
sTime = ""
wd = S2K_SetDataTableVariableValue(DataTableName, dValue, ID1, ID2, ID3, ID4, ID5, ID6, ID7, ID8, ID9, ID10, ID11, ID12, Note1, Note2, sDate, sTime)
progressbar1.performstep()
End While
MessageBox.Show("Data has been written To the table")
End If
РЕДАКТИРОВАТЬ Не уверен на 100%, из чего вы читаете и т. Д. Но да, просто получите счетчик строк из того, что вы читаете, с помощью устройства чтения и установите его как row_count