如何解决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();
}
解决方法
我在该网站和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]方法。我不确定我是否会被理解!
我真的很感谢有关此操作的任何提示/要点!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。