Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

C# SQLServer pobiera wyniki i umieszcza je w formacie .csv

Oto metoda, której używam, aby zrzucić dowolny IDataReader do StreamWriter. Zwykle tworzę StreamSwriter w ten sposób:new StreamWriter(Response.OutputStream) . Konwertuję wszystkie znaki podwójnego cudzysłowu w danych wejściowych na znaki pojedynczego cudzysłowu (może nie jest to najlepszy sposób na poradzenie sobie z tym, ale dla mnie działa).

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przetwarzaj ciąg znaków oddzielonych przecinkami, aby utworzyć IN Lista ciągów w klauzuli Where

  2. Jak używać FILEGROUPPROPERTY() w SQL Server

  3. Polecenie SQL INSERT działa, ale dane nie pojawiają się w tabeli

  4. Dodaj relację klucza obcego między dwiema bazami danych

  5. Jak połączyć się z SQL Server za pomocą sqlalchemy przy użyciu uwierzytelniania systemu Windows?