Ragazzi scusate se rompo troppo
ma voglio finire questo mio applicativo
Devo leggere un campo da una query , però senza usare il while , mi spiego con il codice
codice:
<System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Elimina gli oggetti prima che siano esterni all'ambito")>
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
'Prendo i dati da smsservergateway e li confronto con smspanel
Dim Comando_SmsGateway As New OleDbCommand
Dim Comando_SmsPanel As New OleDbCommand
Dim Adapter_SmsGateway As New OleDbDataAdapter
Dim Adapter_SmsPanel As New OleDbDataAdapter
Dim Reader_SmsGateway As OleDbDataReader
Dim Reader_SmsPanel As OleDbDataReader
Dim ANUMBER As String
Dim SMSMESSAGE As String
Dim RECEIVEDDATE As Date
Dim NUMERO As String
Dim EMAIL As String
Dim TESTO As String
Comando_SmsGateway.Connection = Connessione_server
Comando_SmsGateway.CommandText = "SELECT * FROM INBOX"
Comando_SmsGateway.CommandType = CommandType.Text
Adapter_SmsGateway.SelectCommand = Comando_SmsGateway
Connessione_server.Open()
Reader_SmsGateway = Comando_SmsGateway.ExecuteReader()
While Reader_SmsGateway.Read
ANUMBER = Reader_SmsGateway("DEVICECODE")
SMSMESSAGE = Reader_SmsGateway("SMSMESSAGE")
RECEIVEDDATE = Reader_SmsGateway("RECEIVEDDATE")
TESTO = "Ricevuto da : " & ANUMBER & Chr(13) & "Testo : " & SMSMESSAGE & Chr(13) & "Ricevuto il : " & RECEIVEDDATE
Comando_SmsPanel.Connection = Connessione
Comando_SmsPanel.CommandText = "SELECT * FROM numeri INNER JOIN email ON email.id_email = numeri.idemail WHERE numero = @ANUMBER"
Comando_SmsPanel.CommandType = CommandType.Text
Comando_SmsPanel.Parameters.AddWithValue("@ANUMBER", ANUMBER)
Adapter_SmsPanel.SelectCommand = Comando_SmsPanel
Connessione.Open()
Reader_SmsPanel = Comando_SmsPanel.ExecuteReader()
'NUMERO = Reader_SmsPanel("numero")
'EMAIL = Reader_SmsPanel("email")
Connessione.Close()
InviaEmail(EMAIL, TESTO)
System.Threading.Thread.Sleep(500)
If BackgroundWorker1.CancellationPending Then
e.Cancel = True
Exit While
End If
End While
Connessione_server.Close()
End Sub
nella zona della query
codice:
Comando_SmsPanel.Connection = Connessione
Comando_SmsPanel.CommandText = "SELECT * FROM numeri INNER JOIN email ON email.id_email = numeri.idemail WHERE numero = @ANUMBER"
Comando_SmsPanel.CommandType = CommandType.Text
Comando_SmsPanel.Parameters.AddWithValue("@ANUMBER", ANUMBER)
Adapter_SmsPanel.SelectCommand = Comando_SmsPanel
Connessione.Open()
Reader_SmsPanel = Comando_SmsPanel.ExecuteReader()
'NUMERO = Reader_SmsPanel("numero")
'EMAIL = Reader_SmsPanel("email")
Connessione.Close()
InviaEmail(EMAIL, TESTO)
dovrei riuscire a prendere l'email e il numero dalla query
codice:
omando_SmsPanel.CommandText = "SELECT * FROM numeri INNER JOIN email ON email.id_email = numeri.idemail WHERE numero = @ANUMBER"
Comando_SmsPanel.CommandType = CommandType.Text
Comando_SmsPanel.Parameters.AddWithValue("@ANUMBER", ANUMBER)
però per farlo con execute reader avrei bisogno di un ciclo while ma io non voglio usarlo .. xke è gia all interno di altro ciclo ... in php si puo fare senza problemi .. si può anche in vb.net?