2016-05-10 16 views
0

私はSQLストアドプロシージャを呼び出すvb.netを使用してこのウィンドウフォームを使用し、入力されたパラメータIDに基づいてストアドプロシージャの結果のリストビューを取得します。電子メール変数の電子メール経由でoutlookへのリストビューの内容

今、問題は、ユーザーがフォーム上のテキストボックスに送信する電子メールや参照方法を入力できる電子メール(Outlookへの)にこれらの結果を送信する方法に関する情報を見つけることができないようです。結果はリストビューに表示されます。

"sp_GetDocs"を実行する@email変数を持つストアドプロシージャを作成しようと考えていましたが、結果はプロシージャの@email変数に送られ、以前のパラメータのようにその電子メール変数を入力できますフォーム。私はまだvb.netの初心者ですので、これが余分な作業か、まったく動作しないか分かりません。誰かが私に正しい方向を向けることができますか? VBコードは下に貼り付けられます。

Imports System.Data.SqlClient 
Public Class Form 
Dim stlCon As String = "my data source" 
Dim sqlCon As SqlConnection 
Dim table As New DataTable 
Dim PDF As New ListViewItem 
Private Sub Button1_Click() Handles Button1.Click 
    sqlCon = New SqlConnection(stlCon) 

    Using (sqlCon) 

     Dim sqlComm As New SqlCommand 


     sqlComm.Connection = sqlCon 


     sqlComm.CommandText = "sp_GetDocs" 
     sqlComm.CommandType = CommandType.StoredProcedure 

     sqlComm.Parameters.AddWithValue("@DOCID", Integer.Parse(TextBox1.Text.Trim())) 

     sqlCon.Open() 
     Dim sqlReader As SqlDataReader = sqlComm.ExecuteReader() 

     Using sqlReader 
      Dim table As New DataTable 
      table.Load(sqlReader) 

      ListView1.View = View.Details 
      ListView1.GridLines = True 
      ListView1.Columns.Add("PDF Name", 200, HorizontalAlignment.Left) 
      ListView1.Columns.Add("PDF Description", 200, HorizontalAlignment.Left) 
      ListView1.Columns.Add("PDF Location", 200, HorizontalAlignment.Left) 

      For Each row In table.Rows 

       Dim PDF As New ListViewItem 
       PDF.Text = row.Item(0) 
       PDF.SubItems.Add(row.item(1)) 
       PDF.SubItems.Add(row.item(2)) 

       For i = 1 To table.Columns.Count - 1 
        PDF.SubItems.Add(row(i).ToString(0)) 
        PDF.SubItems.Add(row(i).ToString(1)) 
        PDF.SubItems.Add(row(i).ToString(2)) 

       Next 
       ListView1.Items.Add(PDF) 
      Next 
       ListView1.EndUpdate() 

     End Using 

    End Using 
End Sub 

Private Sub ListView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListView1.SelectedIndexChanged 

End Sub 

Private Sub Email_Click(sender As Object, e As EventArgs) Handles Email.Click 

End Sub 
End Class 

すべてこれは今sp_GetDocsを実行しており、現在、私はボタンと、この電子メールの部分のための私のフォームの下に空のテキストボックスを持って、リストビューに結果が表示されません。

+0

MailBody =( "テスト")を試してみてください

以下の形式を使用しましたか?あなたのページの一番上にそれを含めれば、あなたがしたいことを誤解していない限り、あなたは電子メールを送信するために必要なすべての機能を公開します。 – Melanie

+0

@Melanieこんにちはメラニー返信ありがとうございますか?私はsystem.Net.Mailを使って検索していた電子メール機能を追加する方法がわからないので、電子メール部分の最初のプライベートサブのリストビュー結果を参照できるでしょうか?私は試してみたので、変数を宣言して公的なクラスに移行しなければならなかったが、リストビューの結果を参照する方法がわからない –

答えて

0

マイクロソフト365のために私はあなたがSystem.Net.Mailに見たことが

 MailSubject = ("Test") 
     MailFrom = New MailAddress(TextBox2.Text) 
     MailTo = New MailAddress(TextBox3.Text) 

     Mail.From = MailFrom 
     Mail.To.Add(MailTo) 
     Mail.Subject = MailSubject 
     Mail.Body = MailBody 



     MailClient = New SmtpClient("smtp.office365.com") 
     MailClient.Port = 587 
     MailClient.EnableSsl = True 
     MailClient.Credentials = New System.Net.NetworkCredential(TextBox2.Text, "Password", "domain") 

     MailClient.Send(Mail) 
     MsgBox("Email Sent") 
    Catch ex As Exception 
     MsgBox("Error") 
    End Try 
関連する問題