Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

C# SQLServer извлича резултати и ги поставя във формат .csv

Ето метод, който използвам за изхвърляне на всеки IDataReader в StreamWriter. Обикновено създавам StreamSwriter така:new StreamWriter(Response.OutputStream) . Преобразувам всички знаци с двойни кавички във входа в знаци с единични кавички (може би не е най-добрият начин да се справя с това, но работи за мен).

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. Не може да се зареди DLL 'SqlServerSpatial.dll'

  2. Как да извлечете имена на полета от временна таблица (SQL Server 2008)

  3. Как да вмъкна запис само със стойности по подразбиране?

  4. Размисли за сигурността на SQL Server

  5. Системни бази данни на SQL Server – поддръжка на Tempdb