C#的SQLServer检索在.csv格式的结果和地点 [英] C# SQLServer retrieving results and place in a .csv format

查看:162
本文介绍了C#的SQLServer检索在.csv格式的结果和地点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在网站上,并在谷歌看看,但我似乎无法找到一个很好的解决了我想要做的。

I had a look on the site and on Google, but I couldn't seem to find a good solution to what I'm trying to do.

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

Basically, I have a client server application (C#) where I send the server an SQL select statement (Connecting to SQL Server 2008) and would like to return results in a CSV manner back to the client.

到目前为止,我有以下几点:

So far I have the following:

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



}
`

} `

不幸的是,我是真正的新连接C#与SQL。我需要关于如何简单地把结果在一个字符串CSV格式的任何提示。列和字段都可能是不同的,所以我不能用的东西[事情]我在几个网站见过的方法。我不知道如果我是可以理解的TBH!

Unfortunately, I'm really new to connecting C# with SQL. I need any tips on how to simply put the results in a string in a csv format. The columns and fields are likely to be different so I cannot use the method of something[something] as I've seen in a few sites. I'm not sure if I'm being comprehensible tbh!

我真的很感激任何提示/如何去这个问题,请!

I would really appreciate any tips / points on how to go about this please!

推荐答案

下面是我使用转储任何的IDataReader到一个StreamWriter的方法。我一般创建这样的StreamSwriter:新的StreamWriter(Response.OutputStream)。我转换任何双引号字符输入到单引号字符(也许不是来处理这最好的方式,但它为我工作)。

Here is a method I use to dump any IDataReader out to a StreamWriter. I generally create the StreamSwriter like this: new StreamWriter(Response.OutputStream). I convert any double-quote characters in the input into single-quote characters (maybe not the best way to handle this, but it works for me).

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();
}

这篇关于C#的SQLServer检索在.csv格式的结果和地点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆