У меня есть удаленное sql-соединение в C #, которое должно выполнить запрос и сохранить его результаты на локальный жесткий диск пользователя. Эта вещь может вернуть довольно большой объем данных, поэтому необходимо продумать эффективный способ ее хранения. До этого я читал, что сначала помещать весь результат в память, а затем записывать его - не очень хорошая идея, поэтому, если кто-то может помочь, было бы здорово!
В настоящее время я сохраняю данные результата 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";
}
Так что теперь у меня есть эта огромная строка результата. И у меня есть данные. Там должен быть гораздо лучший способ сделать это?
Спасибо.