sql >> Database teknologi >  >> RDS >> Sqlserver

C# SQLServer henter resultater og placerer dem i et .csv-format

Her er en metode, jeg bruger til at dumpe enhver IDataReader ud til en StreamWriter. Jeg opretter generelt StreamSwriteren sådan her:new StreamWriter(Response.OutputStream) . Jeg konverterer alle dobbelte anførselstegn i input til enkelt-anførselstegn (måske ikke den bedste måde at håndtere dette på, men det virker for mig).

public static void createCsvFile(IDataReader reader, StreamWriter writer) {
    string Delimiter = "\"";
    string Separator = ",";

    // write header row
    for (int columnCounter = 0; columnCounter < reader.FieldCount; columnCounter++) {
        if (columnCounter > 0) {
            writer.Write(Separator);
        }
        writer.Write(Delimiter + reader.GetName(columnCounter) + Delimiter);
    }
    writer.WriteLine(string.Empty);

    // data loop
    while (reader.Read()) {
        // column loop
        for (int columnCounter = 0; columnCounter < reader.FieldCount; columnCounter++) {
            if (columnCounter > 0) {
                writer.Write(Separator);
            }
            writer.Write(Delimiter + reader.GetValue(columnCounter).ToString().Replace('"', '\'') + Delimiter);
        }   // end of column loop
        writer.WriteLine(string.Empty);
    }   // data loop

    writer.Flush();
}


  1. Tips til at opgradere til fra MySQL 5.7 til MySQL 8

  2. MySQL får rækker, men foretrækker en kolonneværdi frem for en anden

  3. Hvordan eksporterer man en Base64-streng til en fil på serversiden uden at gemme den på webserveren direkte med PHP?

  4. Effektiv ekstern vagtplanlægning med MySQL og ejabberd