Ho creato una classe dove ho inserito le mie funzioni per il thread ,
ora ho creato una barra dei menu con la voce File e sottovoce "Connetti" , alla pressione della voce connetti dovrebbe avviarmi il thread . per fare ciò utilizzo il componente Visual studio backgroundworker , solo che non sembra funzionare come si deve
codice:
imports smspanel.lavoro
altro codice ...
...
....
Private Sub ConnettiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ConnettiToolStripMenuItem.Click
Dim lavoro As New Lavoro
BackgroundWorker1.RunWorkerAsync(lavoro)
End Sub
Classe lavoro
codice:
Imports System.Data
Imports System.Data.OleDb
Imports System.Diagnostics
Imports System.Threading
Imports System.Net.Dns
Public Class Lavoro
'Creo un Dataadapter per il server con Tabella INBOX
Dim Comando As OleDbCommand = New OleDbCommand()
Dim Comando_Server As OleDbCommand = New OleDbCommand()
Dim ServerAdapter As New OleDbDataAdapter
Dim Adapter As New OleDbDataAdapter
Dim ANUMBER As String
Dim ServerReader As System.Data.OleDb.OleDbDataReader
Dim ContaRighe As Integer
Sub lavora()
Comando_Server.Connection = SmsPanel.Connessione_server
Comando_Server.CommandText = "SELECT * FROM INBOX"
ServerAdapter.SelectCommand = Comando_Server
SmsPanel.Connessione_server.Open()
ServerReader = Comando_Server.ExecuteReader()
While ServerReader.Read
ANUMBER = ServerReader("ANUMBER")
Comando.Connection = SmsPanel.Connessione
Comando.CommandText = "SELECT * FROM numeri INNER JOIN email ON email.id_email = numeri.idemail WHERE numero = @ANUMBER"
Comando.Parameters.AddWithValue("@ANUMBER", ANUMBER)
'Apriamo la connessione
SmsPanel.Connessione.Open()
'Eseguiamo e vediamo se esiste una corrispondenza !
Try
ContaRighe = Comando.ExecuteScalar()
Catch Eccezione As OleDb.OleDbException
MessageBox.Show(Eccezione.Message)
End Try
'Se esiste blocchiamo l'aggiunta
If ContaRighe = 1 Then
SmsPanel.Logbox.Items.Add(Now() & " Trovata corrispondenza , invio Email")
Else
SmsPanel.Logbox.Items.Add(Now() & " Lettura database in corso")
End If
SmsPanel.Connessione.Close()
End While
SmsPanel.Connessione_server.Close()
End Sub
End Class