我在 C# 中有一个远程 sql 连接,需要执行查询并将其结果保存到用户的本地硬盘。这个东西可以返回的数据量相当大,所以需要想一个有效的方法来存储它。我之前读过,首先将整个结果放入内存然后再写它不是一个好主意,所以如果有人可以提供帮助,那就太好了!
我目前正在将 sql 结果数据存储到 DataTable 中,尽管我认为在下面做一些事情可能会更好,while(myReader.Read(){...}
下面是获取结果的代码:
DataTable t = new DataTable();
string myQuery = QueryLoader.ReadQueryFromFileWithBdateEdate(@"Resources\qrs\qryssysblo.q", newdate, newdate);
using (SqlDataAdapter a = new SqlDataAdapter(myQuery, sqlconn.myConnection))
{
a.Fill(t);
}
var result = string.Empty;
for(int i = 0; i < t.Rows.Count; i++)
{
for (int j = 0; j < t.Columns.Count; j++)
{
result += t.Rows[i][j] + ",";
}
result += "\r\n";
}
所以现在我有了这个巨大的结果字符串。我有数据表。必须有更好的方法吗?
谢谢。