jleonorlane Ответов: 3

Как использовать фоновый рабочий при загрузке данных в DataReader


Привет, Ребята...

Кто-нибудь из вас знает, как использовать background worker при загрузке или заполнении данных из базы данных с помощью DataReader in VB.NET-что?
Пожалуйста помочь....

вот мой код для заполнения данных:

Public Sub PopulateAudit()
       Dim strSELECT As String = "SELECT * FROM tblsystemaudit " _
             & " WHERE jdate='" & dtpDate.Text & "' " _
             & " AND juser LIKE '" & txtUser.Text & "%' " _
             & " AND jmachine LIKE '" & txtMachine.Text & "%' " _
             & " AND jform LIKE '" & txtForm.Text & "%' " _
             & " AND jaction LIKE '" & txtAction.Text & "%' " _
             & " ORDER BY PK DESC"

       Dim DReader As New DataClassReader
       DReader.strSELECTSQL = strSELECT
       DReader.ReadData()
       dtgView.Rows.Clear()
       Dim a As Integer = 0

       Do While DReader.PinoyLDataReader.Read
           dtgView.Rows.Add()
           With DReader.PinoyLDataReader
               dtgView.Item(0, a).Value = .Item("jdate")
               dtgView.Item(1, a).Value = .Item("jtime")
               dtgView.Item(2, a).Value = .Item("juser")
               dtgView.Item(3, a).Value = .Item("jmachine")
               dtgView.Item(4, a).Value = .Item("jform")
               dtgView.Item(5, a).Value = .Item("jaction")
               dtgView.Item(6, a).Value = .Item("jreference")
               dtgView.Item(7, a).Value = .Item("jcomments")
           End With
           a = a + 1
       Loop
       DReader.PinoyLDataReader.Close()
   End Sub


.теперь вы можете сказать мне, как использовать фоновый рабочий здесь, где его разместить?..

пожалуйста, помогите мне...

заранее спасибо, ребята..

3 Ответов

Рейтинг:
2

Hristo-Bojilov

Сначала вы не должны использовать конкатенацию строк для заполнения вашего запроса, потому что это может вызвать sql-инъекцию, поэтому вам нужны запросы параметров.
И там действительно красиво образец [^] в msdn как использовать BackgroundWorker.


Рейтинг:
2

shukla dhaval

Если вы хотите, чтобы ваша таблица dtgView добавляла записи в фоновую работу, то для этого вам нужно использовать пользовательскую потоковую обработку.

Создайте кто-нить и поставить PopulateAudit (функция) в процессе нарезания резьбы.

Dim myThread As New System.Threading.Thread(AddressOf PopulateAudit)

public sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadButton1.Click
mythread.start
end sub 


Рейтинг:
1

Amina bouzigua

thanks for this post