Предоставьте два CSV-файла с одной транзакцией заголовка / HTTP - PullRequest
0 голосов
/ 28 августа 2018

В настоящее время у меня есть код, который будет генерировать CSV из вызова базы данных, но меня попросили создать два отдельных файла CSV с двумя различными вызовами базы данных из одного события щелчка. Вот пример моего текущего кода:

'Global variable
Dim Include As List(Of String) = New List(Of String)


'Click event sub
Dim tempID As String = ""

'This gets the value of a checkbox (7th of 7 columns)
' and only adds checked rows to the query.
For Each row In GridView.Rows
    If row.Cells(6).Controls(1).Checked Then
        tempID = Regex.Replace(row.Cells(0).Controls(0).Text.Trim, "<(?:[^>=]|='[^']*'|=""[^""]*""|=[^'""][^\s>]*)*>", "", RegexOptions.IgnoreCase Or RegexOptions.IgnorePatternWhitespace Or RegexOptions.Multiline Or RegexOptions.Singleline)
        Include.Add(tempID)
    End If
Next

Dim Chosen As String = String.Join(",", Include)

SQLQuery = "SET ANSI_NULLS, ANSI_WARNINGS, ARITHABORT ON; "
SQLQuery += "SELECT * FROM ( " &
SQLQuery += "SELECT EXP.Account, " &
    "EXP.Amount, " &
    "EXP.DebitCredit, " &
    "EXP.Description, " &
    "EXP.BudgetCenter "

SQLQuery += "FROM [DB].[TBL] EXP " &
    "INNER JOIN [DB2].[TBL2] REIM " &
    "ON EXP.ID = REIM.ID " &
    "WHERE EXP.ID IN ( " + Chosen + " ) " &
    "AND REIM.StatusCode = 'APPROVED' "

SQLQuery += ") AS ResultTable "
ResultsDataSet = RunQuery(SQLQuery) 'THIS IS WHERE I CALL THE DATABASE
ResultsTable = ResultsDataSet.Tables(0)

For Each row As DataRow In ResultsTable.Rows
    Dim item As String
    For Each item In row.ItemArray
        sb.Append(item.ToString + ","c)
    Next
Next

Response.Clear()
Response.Buffer = True
Response.AddHeader("content-disposition", "attachment;filename=JournalReport_" + Date.Today.Month.ToString + "_" + Date.Today.Day.ToString + "_" + Date.Today.Year.ToString + ".csv")
Response.Charset = ""
Response.ContentType = "application/text"
Response.Output.Write(sb.ToString())
Response.Flush()

У меня есть другой click event, который делает то же самое, но с другим запросом и другим именем файла в вызове Response.AddHeader().

Что я пытаюсь сделать, так это объединить эти два события щелчка, чтобы создать оба файла в одном действии. Есть ли способ сделать это с помощью кода, который у меня есть? Есть ли другой способ создания этих файлов?

Я написал этот код с помощью исследований GridViews и DataSets за последние несколько дней. Так что, если это не красиво, это только потому, что это было немного поспешно и мало знаний за этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...