SQLite 데이터베이스의 쿼리를 ComboBox의 AutocompleteCustomSource로 사용하고 있습니다. 또한 별도의 스레드에서 데이터를로드하려고합니다. 내 LoadData 메서드는 직접 호출하면 잘 작동하지만 BackgroundWorker 스레드에서 호출하면 실패합니다. 백그라운드 스레드에서 호출 될 때 줄에 Specified cast is not valid
예외가 발생합니다. 다음은 내 코드입니다 : 우리는이에 실패한 줄 알아야합니다 것VB.NET의 백그라운드 작업자를 사용하여 백그라운드 모드로 데이터로드
Sub LoadData()
Dim connetionString As String
Dim cnn As SQLiteConnection
connetionString = "Data Source=" + Application.StartupPath + "\Mydatabase.db;"
cnn = New SQLiteConnection(connetionString)
cnn.Open()
Dim sqlComm88 As New SQLiteCommand("SELECT Taj FROM Taj_deu ", cnn)
Dim hh As SQLiteDataReader = sqlComm88.ExecuteReader()
While hh.Read()
csearch.AutoCompleteCustomSource.Add(hh("Taj"))
End While
End Sub
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Call loaddata()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
BackgroundWorker1.RunWorkerAsync()
End Sub
어떤 줄에서 실패합니까? –
이것을'hh ("Taj")로 변경해보십시오 ToString' – LarsTech
백그라운드 작업자가 아닌 LoadData를 직접 호출하면이 작업이 실패하지 않는다는 말입니까? –