vb.net Выполнение одного и того же саба два раза с разными аргументами - PullRequest
0 голосов
/ 11 июля 2019

У меня есть этот саб, который генерирует CSV-файл из результата запроса

Private Sub generaReport(classe As String)

    Dim query As String = "select bla bla bla"

    Dim dt As New System.Data.DataTable()
    Using con As New SqlConnection(My.Settings.dbstartConnectionString)
        Using cmd As New SqlCommand(query, con)
            cmd.Parameters.AddWithValue("@ieri", dataDa)
            cmd.Parameters.AddWithValue("@domani", dataA)
            cmd.Parameters.AddWithValue("@classe", classe)
            Using sda As New SqlDataAdapter(cmd)
                sda.Fill(dt)
            End Using
        End Using
    End Using

    Dim elencoCsv As String = ToCSV(dt)

    If classe = "D" Then
        File.Delete(nomeFileCsvD)

        Using writer As New StreamWriter(nomeFileCsvD, True)
            writer.WriteLine(elencoCsv)
        End Using
    Else
        File.Delete(nomeFileCsvV)

        Using writer As New StreamWriter(nomeFileCsvV, True)
            writer.WriteLine(elencoCsv)
        End Using
    End If
    InvioEmail(My.Settings.emails)

    End
End Sub

Я бы назвал это два раза как

  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            generaReport("D")
            generareport("V")
   End Sub

но во второй раз он все еще использует "D" в качестве параметра. Как я могу решить это? Спасибо

1 Ответ

1 голос
/ 11 июля 2019

Как написано, у вас есть оператор End прямо перед строкой End Sub в нижней части generaReport().Из документации оператор End ...

Немедленно завершает выполнение.

Таким образом, после выполнения с параметром "D" все приложение закрывается.Он не запускает «D» дважды, он просто никогда не запускает «V».

Избавьтесь от оператора End ...

...