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?