我有一个从查询结果生成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”作为参数。我该如何解决?谢谢
答案 0 :(得分:1)
按照书面规定,您在End Sub
底部generaReport()
行的前面有一个End语句。在文档中,End
语句...
立即终止执行。
因此,使用“ D”参数执行后,整个应用程序将关闭。它不会两次运行“ D”,而根本不会运行“ V”。
摆脱End
语句...