Ok, penso di aver finalmente capito![]()
Una soluzione è questa, che non fa uso di TableAdapter mi di un DataReader. L'ho scritta senza verificarla, in ogni caso trovi sul forum e in google centinaia di esempi simili:
codice:Dim sql As String Dim dr As OleDbDataReader Dim cmd As OleDbCommand Dim cn As OleDbConnection 'apre la connessione al db cn = New OleDbConnection("...") 'qui metti la tua connection string cn.Open() 'prepara la query 'nota che alcuni campi sono anche parole riservate di Jet, quindi è necessario usare le parentesi quadre sql = "SELECT ID, [Username], [Password], Email AS EmailInput FROM UsersList WHERE ([Email] = ?)" 'crea il command cmd = New OleDbCommand(sql, cn) cmd.Parameters.Add("", OleDbType.BSTR).Value = TextBox1.Text.Trim 'esegue la query dr = cmd.ExecuteReader(CommandBehavior.SingleRow) 'legge il primo record If dr.Read Then 'se esiste un record Dim smtpServer As New SmtpClient() ProgressBar1.Value = 10 Dim mail As New MailMessage() ProgressBar1.Value = 17 smtpServer.Credentials = New Net.NetworkCredential("info.sdmt@gmail.com", "sdmtusercommunications01") ProgressBar1.Value = 23 'Gmail Account smtpServer.Port = 587 ProgressBar1.Value = 27 smtpServer.Host = "smtp.gmail.com" ProgressBar1.Value = 40 smtpServer.EnableSsl = True mail = New MailMessage() mail.From = New MailAddress("xxxx@gmail.com") mail.To.Add(dr("Email").ToString) mail.Subject = "Username & Password Retrival" mail.Body = String.Format("Il tuo username è {0}, la tua password è {1}", dr("Email").ToString, dr("Password").ToString) smtpServer.Send(mail) ProgressBar1.Value = 100 MsgBox("mail Sent!") ProgressBar1.Value = 0 TextBox1.Clear() dr.Close() cn.Close() Me.Hide() Form2.Show() Else 'nessun record MsgBox("Your email is not in our database. Please subscribe! ", MsgBoxStyle.Exclamation) TextBox1.Clear() dr.Close() cn.Close() End If

Rispondi quotando