クエリを実行し、その結果をユーザーのローカル ハード ディスクに保存する必要がある 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";
}
これで、この巨大な結果文字列ができました。そして、私はデータテーブルを持っています。それを行うためのはるかに良い方法が必要ですか?
ありがとう。