是否有SQL查询通过它可以直接将表的数据转储到C#中的文本或csv文件中?
答案 0 :(得分:1)
没有。 C#不是SQL,反之亦然。如果您的意思是“我如何根据查询结果编写文本文件?”,这很容易。
如果您使用谷歌查找 C#SQL到文本文件,那么第一次点击是,您不会猜到,stackoverflow!
主要思想是创建连接,根据查询定义阅读器,并使用streamwriter创建文件。
如果您想要其他方法将MSSQL数据导出到文件,可以查看SQLServerCentral
答案 1 :(得分:0)
您需要使用ADO.Net或Entity Framework查询该表,然后打开FileStream将数据输出到text / csv文件中。没有比这更直接和容易的东西了。
答案 2 :(得分:0)
try
{
using (System.IO.StreamWriter ff = new System.IO.StreamWriter(fileName))
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(
@"SELECT
firstName,
lastName,
salary
FROM persons",
connection);
connection.Open();
ff.WriteLine("firstName,lastName,salary"); // header
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
var rr = (IDataRecord)reader;
ff.WriteLine(string.Format("{0},{1},{2:C2}",
rr.GetValue(0),
rr.GetValue(1),
rr.GetValue(2)
)
);
}
reader.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error");
}
答案 3 :(得分:0)
...另一方面,您可以在db端构建csv并返回单值(varchar(max))
以下示例适用于sqlsqrver
select cast((
select
cc.clientId,
',', -- this is separator
cc.clientName,
',',
cc.birthdate,
',',
cc.status,
'
' -- this new line
from Clients cc
for xml path('')
) as XML).value('.','varchar(max)')