当前位置: 首页 > 面试题库 >

C#SQLServer检索结果并以.csv格式放置

晏弘雅
2023-03-14
问题内容

我在该网站和Google上进行了查看,但似乎找不到针对我要尝试的解决方案的好方法。

基本上,我有一个客户端服务器应用程序(C#),在其中向服务器发送一条SQL select语句(连接到SQL Server
2008),并希望以CSV方式将结果返回给客户端。

到目前为止,我有以下内容:

if (sqlDataReader.HasRows)
{
    while(sqlDataReader.Read())
    {
       //not really sure what to put here and if the while should be there!
    }

}`

不幸的是,我真的是C#与SQL连接的新手。我需要有关如何将结果简单地以csv格式放入字符串的任何提示。列和字段可能会有所不同,因此我无法使用某些站点中所见的something
[something]方法。我不确定我是否会被理解!

我真的很感谢有关此操作的任何提示/要点!


问题答案:

这是我用来将任何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();
}


 类似资料:
  • 我需要以.csv格式输出我的hadoop结果。我要怎么做?我的代码:https://github.com/studhadoop/xml/blob/master/xmlparser11.java 我是否应该简单地在代码中包含csvoutputFormat。我正在使用mapreduce API MyJob.sh 解决方案

  • 问题内容: 我需要以.csv格式输出hadoop结果。我该怎么做?我的代码:https : //github.com/studhadoop/xml/blob/master/XmlParser11.java 我应该在我的代码中简单地包含csvoutputFormat吗?我正在使用mapreduce API myjob.sh 解 是的,我不见了>在猫里 问题答案: 您可以使用TextOutputFor

  • 问题内容: 我正在处理ETL,并且在SSIS包中的SQL任务中具有以下sql代码。这就是我编码的方式。我正在从表中选择数据,并将该查询的结果作为文件。我希望此附件以CSV格式发送。我该怎么做? 任何帮助将不胜感激。提前致谢。 问题答案: 添加应该可以解决问题。 添加可能会稍微清除结果。所有的论点都可以在这里找到

  • 问题内容: 有没有一种简单的方法可以从Linux命令行运行MySQL查询并以CSV格式输出结果? 这是我现在正在做的事情: 当有很多列需​​要用引号引起来时,或者结果中有引号需要转义时,它将变得混乱。 问题答案: 从http://www.tech-recipes.com/rx/1475/save-mysql-query-results-into-a-text-or- csv-file/ 使用此命令

  • 哪种方法是以CSV格式导出JPA查询结果的最佳方法?我试过opencsv,但它需要一个java.sql.ResultSet对象,我不明白如何创建它。我尝试了以下代码 但我收到异常java.lang.ClassCastException:java.util.Vector不能强制转换为java.sql.ResultSet

  • 问题内容: 我使用数据类型将日期和时间存储在数据库中。将日期另存为 我可以从数据库中检索格式的时间,但我想以格式检索它。 我怎样才能做到这一点? 问题答案: 检查DATE_FORMAT函数。