将SQLServer数据导出为CSV文件我正在尝试将数据从sqlserver导出到csv文件。我已在网上和其他支持论坛中寻求帮助,但找不到如何执行此操作?我已经编写了自己的代码,但它不起作用-它只是不断加载......然后失败。请帮忙。这是我写的代码。SqlConnectionsqlCon=newSqlConnection("REMOVED");字符串文件名="test.csv";SqlCommandsqlCmd=newSqlCommand();sqlCmd.CommandText="从products.products中选择*";sqlCmd.Connection=sqlCon;sqlCon.Open();使用(varCommandText=newSqlCommand("select*fromproducts.products"))使用(varreader=sqlCmd.ExecuteReader())使用(varoutFile=File.CreateText(fileName)){string[]columnNames=GetColumnNames(reader).ToArray();intnumFields=columnNames.Length;outFile.WriteLine(string.Join(",",columnNames));如果(reader.HasRows){而(reader.Read()){string[]columnValues=Enumerable.Range(0,numFields).Select(i=>reader.GetValue(i).ToString()).Select(field=>string.Concat(""",field.Replace(""",""""),""")).ToArray();outFile.WriteLine(string.Join(",",columnValues));}}}}privateIEnumerableGetColumnNames(IDataReaderreader){foreach(DataRowrowinreader.GetSchemaTable().Rows){yieldreturn(string)row["列名"];对于它的价值,如果你只想做一个查询并将内容转储到某个地方,看起来你所做的工作比你可能增加的调试挑战的复杂性要多得多。一个非常简单的例子读取查询并将输出定向到文件可能如下所示:SqlConnectionsqlCon=newSqlConnection("REMOVED");sqlCon.Open();SqlCommandsqlCmd=newSqlCommand("从products.products中选择*,sqlCon);SqlDataReaderreader=sqlCmd.ExecuteReader();字符串文件名="test.csv";StreamWritersw=newStreamWriter(文件名);object[]output=newobject[reader.FieldCount];for(inti=0;i虽然它看起来可能不会比你列出的代码短很多,但我认为它更简单,更容易调试,开箱即用。我没有测试过这个,所以我不能说for确保它有效,虽然我认为它非常接近。还有一件事值得一提......这些都不是真正的CSV输出。如果它们在任何输出中,你需要确保你处理嵌入的逗号,返回字符等等不过好办以上就是C#学习教程:将SQLServer数据导出为CSV文件分享所有内容如果对大家有用需要进一步了解C#学习教程希望你会多多关注---本文来自网络收藏,不代表立场,如涉及侵权,请点击右边联系管理员删除,转载请注明出处:
